Hướng dẫn thử thách
1 / 1
TypeScript Quiz
To pass the quiz, you must correctly answer at least 18 of the 20 questions below.
# --quizzes--
## --quiz--
### --question--
#### --text--
What is TypeScript?
#### --distractors--
A framework used for system programming.
---
A database management tool.
---
A programming language used for styling websites.
#### --answer--
A superset of JavaScript that adds static typing.
### --question--
#### --text--
Why should TypeScript be used in a project?
#### --distractors--
It eliminates the need for testing in applications.
---
It is faster than all other programming languages.
---
It makes styling websites easier.
#### --answer--
It improves maintainability by adding type definitions to JavaScript.
### --question--
#### --text--
What language is TypeScript compiled down to?
#### --distractors--
Java
---
Python
---
C++
#### --answer--
JavaScript
### --question--
#### --text--
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--
`2 + 3`
---
`undefined`
---
`Error: Type 'number' is not assignable to type 'string'`
#### --answer--
`5`
### --question--
#### --text--
What is the primary purpose of an interface in TypeScript?
#### --distractors--
To compile TypeScript code into JavaScript.
---
To create a new data type.
---
To create a new JavaScript Object.
#### --answer--
To define the structure of an object.
### --question--
#### --text--
Which of the following is NOT a basic primitive in TypeScript?
#### --distractors--
string
---
boolean
---
number
#### --answer--
array
### --question--
#### --text--
Which of the following correctly defines a literal type in TypeScript?
#### --distractors--
`let y: string;`
---
`let z: boolean;`
---
`let a: number[];`
#### --answer--
`let x: 5;`
### --question--
#### --text--
What is the primary purpose of the `type` keyword in TypeScript?
#### --distractors--
To declare variables.
---
To create classes.
---
To implement interfaces.
#### --answer--
To define custom types.
### --question--
#### --text--
Which of the following correctly defines a union type?
#### --distractors--
`type Result = Pass && Fail;`
---
`type Result = Pass & Fail;`
---
`type Result = Pass + Fail;`
#### --answer--
`type Result = Pass | Fail;`
### --question--
#### --text--
Which of the following capabilities is unique to `interface` and CANNOT be achieved using `type` in TypeScript?
#### --distractors--
Defining object shapes.
---
Creating union types.
---
Defining types that include only specific values.
#### --answer--
Declaring class implementations.
### --question--
#### --text--
What is the primary purpose of using generics in TypeScript?
#### --distractors--
To implement inheritance between classes.
---
To define structure of an object.
---
To create a new data type.
#### --answer--
To write reusable code that can work with multiple types.
### --question--
#### --text--
Which of the following is a **proper example** of a generic function in TypeScript?
#### --distractors--
`function add(a: number, b: number): number { return a + b; }`
---
`function multiply(a: number, b: number): { return a * b; }`
---
`function getValue<T>(value: any): any { return value; }`
#### --answer--
`function identity<T>(value: T): T { return value; }`
### --question--
#### --text--
What is type narrowing in TypeScript?
#### --distractors--
Reducing the size of compiled JavaScript.
---
Limiting the number of types in a union.
---
Removing unused types from a TypeScript project.
#### --answer--
To write code that narrows down a union type to a more specific type.
### --question--
#### --text--
Which file is typically used to configure TypeScript compiler options?
#### --distractors--
`package.json`
---
`package.config.json`
---
`typescript.config.js`
#### --answer--
`tsconfig.json`
### --question--
#### --text--
What does the `rootDir` option in the `tsconfig.json` file specify?
#### --distractors--
The version of TypeScript to use during compilation.
---
The target runtime environment (e.g., Node.js or browser) for the TypeScript code.
---
The specific module system to use for imports and exports.
#### --answer--
The directory that holds your source files.
### --question--
#### --text--
Which example uses `instanceof` correctly to narrow the type to access the `value` property safely?
#### --distractors--
```ts
const email = document.querySelector("#email");
if (email instanceof <input>) {
console.log(email.value);
}
```
---
```ts
const email = document.querySelector("#email");
if (email instanceof Element) {
console.log(email.value);
}
```
---
```ts
const email = document.querySelector("#email");
if (email instanceof <HTMLInputElement>) {
console.log(email.value);
}
```
#### --answer--
```ts
const email = document.querySelector("#email");
if (email instanceof HTMLInputElement) {
console.log(email.value);
}
```
### --question--
#### --text--
What does setting `"strict": true` in `tsconfig.json` do in TypeScript?
#### --distractors--
Enables static type check so that you can catch the mistakes before you run your code.
---
Enforces you to always use ES6 syntax.
---
Enforces you to compile the code before you run it.
#### --answer--
Enables a set of type-checking options such as requiring handling of `null` or `undefined` and preventing implicit `any`.
### --question--
#### --text--
What is the purpose of the `never` type in TypeScript?
#### --distractors--
To represent null or undefined.
---
To represent any possible value.
---
To represent a type that can be anything except null.
#### --answer--
To represent the type of values that never occur.
### --question--
#### --text--
Which of the following `getRandomValue` function calls will compile successfully in TypeScript?
```ts
const getRandomValue = (array: string[]) => {
return array[Math.floor(Math.random() * array.length)];
}
```
#### --distractors--
`getRandomValue([1, 2, 3])`
---
`getRandomValue("ABC")`
---
`getRandomValue({A: "A", B: "B", C: "C"})`
#### --answer--
`getRandomValue(["A", "B", "C"])`
### --question--
#### --text--
How can you fix the TypeScript compiler error `'email' is possibly 'null'` in the following code using optional chaining?
```ts
const email = document.querySelector<HTMLInputElement>("#email");
console.log(email.value);
```
#### --distractors--
`console.log(email?:value);`
---
`console.log(email?value);`
---
`console.log(email.?value);`
#### --answer--
`console.log(email?.value);`
Vượt qua bài kiểm tra hiện tại để mở khóa bài tiếp theo.
main.sql
UTF-8 • Tab Size: 2Kiểm tra bài:⌘↵