10 популярных вопросов на собеседовании по TypeScript (с краткими ответами)

от автора

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,   } } 

ссылка на оригинал статьи https://habr.com/ru/post/484546/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *