1. Для чего нужен тип «Omit»?
Ответ: Это новый тип, в котором можно указать свойства, которые будут исключены из исходного типа.
Пример:
type Person = { name: string; age: number; location: string; };
type QuantumPerson = Omit<Person, 'location'>; // Аналогично следующей строке
QuantumPerson = { name: string; age: number; };
2. Когда нужно использовать ключевое слово «declare»?
Ответ: При использовании библиотеки JavaScript, не объявленной в вашем TypeScript проекте.
Пример:
declare const libraryName;
3. Как автоматически получить файлы declaration?
Ответ: Установить опцию компилятора на true в файле tsconfig.json
Пример:
{
"compilerOptions": {
...
"declaration": true,
}
}
4. Как прегрузить функцию?
Ответ: Надо использовать то же имя функции над оригинальной функцией без скобок {} и изменить число и типы аргументов и/или тип возвращаемого значения.
Пример:
function add(x: string, y: string): string;
function add(x: number, y: number): number {
return x + y;
}
5. Как сделать все свойства интерфейса необязательными?
Ответ: Используйте тип Partial
Пример:
interface Person {
name: string;
age: number;
}
type PartialPerson = Partial<Person>; // Аналогично следующему коду
linesinterface PartialPerson {
name?: string;
age?: number;
}
6. К чему можно применять декораторы?
Ответ: Классы, свойства, методы и аргументы метода.
Пример:
@MyClassDecorator
export class Person {
…
@MyPropertyDecorator myProperty: string;
}
7. Для чего нужен тип «Record»?
Ответ: Он позволяет создавать типизированную мапу
Пример:
let Person = Record<string, number> = {};
Person.age = 25;
8. Как можно получить доступ к классам вне модуля, в котором они определены?
Ответ: Используйте ключевое слово export перед именем класса.
Пример:
export class Person {}
9. Когда используется ключевое слово «unknown»?
Ответ: Когда вы не хотите использовать ключевое слово any и/или заранее не знаете точный тип, но хотите назначить его позже.
Пример:
let person: unknown = 'John';
if (typeof person === string) {
let name: string = person;
}
10. Что такое «.map» файл, как и зачем его использовать?
Ответ: Map-файл — это файл карты исходников, который можно использовать при выполнении отладки. Его можно сгенерировать, установив опцию компилятора sourceMap в true в файле tsconfig.json
Пример:
{
"compilerOptions": {
...
"sourceMap": true,
}
}