feat(curriculum): Create TypeScript Quiz (#56460)

Co-authored-by: Ilenia <26656284+ilenia-magoni@users.noreply.github.com>
Co-authored-by: Naomi the Technomancer <accounts+github@nhcarrigan.com>
Co-authored-by: Lasse Jørgensen <28780271+lasjorg@users.noreply.github.com>
This commit is contained in:
Creflo Coelho
2024-10-08 22:06:45 +05:30
committed by GitHub
parent e8e84257f4
commit 211a9fa086

View File

@@ -17,439 +17,454 @@ Answer all of the questions below correctly to pass the quiz.
#### --text--
Placeholder question
What is Typescript?
#### --distractors--
Placeholder distractor 1
A framework used for system programming.
---
Placeholder distractor 2
A database management tool.
---
Placeholder distractor 3
A programming language used for styling websites.
#### --answer--
Placeholder answer
A superset of JavaScript that adds static typing.
### --question--
#### --text--
Placeholder question
Why should TypeScript be used in a project?
#### --distractors--
Placeholder distractor 1
It eliminates the need for testing in applications.
---
Placeholder distractor 2
It is faster than all other programming languages.
---
Placeholder distractor 3
It makes styling websites easier.
#### --answer--
Placeholder answer
It improves maintainability by adding type definitions to JavaScript.
### --question--
#### --text--
Placeholder question
What language is TypeScript compiled down to?
#### --distractors--
Placeholder distractor 1
Java
---
Placeholder distractor 2
Python
---
Placeholder distractor 3
C++
#### --answer--
Placeholder answer
JavaScript
### --question--
#### --text--
Placeholder question
What would be the output of the following code snippet?
```ts
function sum(a: number, b: number): number {
return a + b;
}
console.log(sum(2, 3));
```
#### --distractors--
Placeholder distractor 1
`2 + 3`
---
Placeholder distractor 2
`undefined`
---
Placeholder distractor 3
`Error: Type 'number' is not assignable to type 'string'`
#### --answer--
Placeholder answer
`5`
### --question--
#### --text--
Placeholder question
What is the primary purpose of an interface in TypeScript?
#### --distractors--
Placeholder distractor 1
To compile TypeScript code into JavaScript.
---
Placeholder distractor 2
To create a new data type.
---
Placeholder distractor 3
To create a new JavaScript Object.
#### --answer--
Placeholder answer
To define the structure of an object.
### --question--
#### --text--
Placeholder question
Which of the following is NOT a basic primitive in TypeScript?
#### --distractors--
Placeholder distractor 1
string
---
Placeholder distractor 2
boolean
---
Placeholder distractor 3
number
#### --answer--
Placeholder answer
array
### --question--
#### --text--
Placeholder question
Which of the following correctly defines a literal type in TypeScript?
#### --distractors--
Placeholder distractor 1
`let y: string;`
---
Placeholder distractor 2
`let z: boolean;`
---
Placeholder distractor 3
`let a: number[];`
#### --answer--
Placeholder answer
`let x: 5;`
### --question--
#### --text--
Placeholder question
What is the primary purpose of the `type` keyword in TypeScript?
#### --distractors--
Placeholder distractor 1
To declare variables.
---
Placeholder distractor 2
To create classes.
---
Placeholder distractor 3
To implement interfaces.
#### --answer--
Placeholder answer
To define custom types.
### --question--
#### --text--
Placeholder question
Which of the following correctly defines a union type?
#### --distractors--
Placeholder distractor 1
`type Result = Pass && Fail;`
---
Placeholder distractor 2
`type Result = Pass & Fail;`
---
Placeholder distractor 3
`type Result = Pass + Fail;`
#### --answer--
Placeholder answer
`type Result = Pass | Fail;`
### --question--
#### --text--
Placeholder question
Which of the following capabilities is unique to `interface` and CANNOT be achieved using `type` in TypeScript?
#### --distractors--
Placeholder distractor 1
Defining object shapes.
---
Placeholder distractor 2
Creating union types.
---
Placeholder distractor 3
Creating intersection types.
#### --answer--
Placeholder answer
Declaring class implementations.
### --question--
#### --text--
Placeholder question
What is the primary purpose of using generics in TypeScript?
#### --distractors--
Placeholder distractor 1
To implement inheritance between classes.
---
Placeholder distractor 2
To define structure of an object.
---
Placeholder distractor 3
To create a new data type.
#### --answer--
Placeholder answer
To write reusable code that can work with multiple types.
### --question--
#### --text--
Placeholder question
Which of the following is a **proper example** of a generic function in TypeScript?
#### --distractors--
Placeholder distractor 1
`function add(a: number, b: number): number { return a + b; }`
---
Placeholder distractor 2
`function multiply(a: number, b: number): { return a * b; }`
---
Placeholder distractor 3
`function getValue<T>(value: any): any { return value; }`
#### --answer--
Placeholder answer
`function identity<T>(value: T): T { return value; }`
### --question--
#### --text--
Placeholder question
What is type narrowing in TypeScript?
#### --distractors--
Placeholder distractor 1
Reducing the size of compiled JavaScript.
---
Placeholder distractor 2
Limiting the number of types in a union.
---
Placeholder distractor 3
Removing unused types from a TypeScript project.
#### --answer--
Placeholder answer
To write code that narrows down a union type to a more specific type.
### --question--
#### --text--
Placeholder question
Which file is typically used to configure TypeScript compiler options?
#### --distractors--
Placeholder distractor 1
`package.json`
---
Placeholder distractor 2
`package.config.json`
---
Placeholder distractor 3
`typescript.config.js`
#### --answer--
Placeholder answer
`tsconfig.json`
### --question--
#### --text--
Placeholder question
What does the `target` option in the `tsconfig.json` file specify?
#### --distractors--
Placeholder distractor 1
The version of TypeScript to use during compilation.
---
Placeholder distractor 2
The target runtime environment (e.g., Node.js or browser) for the TypeScript code.
---
Placeholder distractor 3
The specific module system to use for imports and exports.
#### --answer--
Placeholder answer
The ECMAScript version to which the TypeScript compiler will transpile the code.
### --question--
#### --text--
Placeholder question
What does the `noImplicitReturns` option in the `tsconfig.json` file enforce?
#### --distractors--
Placeholder distractor 1
It forces all functions to return a `number`.
---
Placeholder distractor 2
It requires that all functions return either `true` or `false`.
---
Placeholder distractor 3
It prevents using the `any` type in TypeScript code.
#### --answer--
Placeholder answer
It ensures all code paths in a function return a value.
### --question--
#### --text--
Placeholder question
Which TypeScript option prevents implicit `any` types?
#### --distractors--
Placeholder distractor 1
`noImplicitReturns`
---
Placeholder distractor 2
`alwaysStrict`
---
Placeholder distractor 3
`strictNullChecks`
#### --answer--
Placeholder answer
`noImplicitAny`
### --question--
#### --text--
Placeholder question
What is the purpose of the `never` type in TypeScript?
#### --distractors--
Placeholder distractor 1
To represent null or undefined.
---
Placeholder distractor 2
To represent any possible value.
---
Placeholder distractor 3
To represent a type that can be anything except null.
#### --answer--
Placeholder answer
To represent the type of values that never occur.
### --question--
#### --text--
Placeholder question
What will be the output of the following TypeScript code?
```ts
enum Color {
Red,
Blue,
}
console.log(Color.Red, Color.Blue);
```
#### --distractors--
Placeholder distractor 1
`Red Blue`
---
Placeholder distractor 2
`1, 2`
---
Placeholder distractor 3
`Red 2`
#### --answer--
Placeholder answer
`0 1`
### --question--
#### --text--
Placeholder question
How can you specify that a function parameter is optional in TypeScript?
#### --distractors--
Placeholder distractor 1
By using the `optional` keyword.
---
Placeholder distractor 2
By setting a default value.
---
Placeholder distractor 3
By using the `any` type.
#### --answer--
Placeholder answer
By adding a `?` after the parameter name