Хабрахабр

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

Для чего нужен тип «Omit»? 1.

Ответ: Это новый тип, в котором можно указать свойства, которые будут исключены из исходного типа.

Пример:

type Person = ;
type QuantumPerson = Omit<Person, 'location'>; // Аналогично следующей строке
QuantumPerson = { name: string; age: number; };

Когда нужно использовать ключевое слово «declare»? 2.

Ответ: При использовании библиотеки JavaScript, не объявленной в вашем TypeScript проекте.

Пример:

declare const libraryName;

Как автоматически получить файлы declaration? 3.

Ответ: Установить опцию компилятора на 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;
}

Для чего нужен тип «Record»? 7.

Ответ: Он позволяет создавать типизированную мапу

Пример:

let Person = Record<string, number> = {};
Person.age = 25;

Как можно получить доступ к классам вне модуля, в котором они определены? 8.

Ответ: Используйте ключевое слово export перед именем класса.

Пример:

export class Person {}

Когда используется ключевое слово «unknown»? 9.

Ответ: Когда вы не хотите использовать ключевое слово any и/или заранее не знаете точный тип, но хотите назначить его позже.

Пример:

let person: unknown = 'John';
if (typeof person === string) { let name: string = person;
}

Что такое «.map» файл, как и зачем его использовать? 10.

Его можно сгенерировать, установив опцию компилятора sourceMap в true в файле tsconfig.json Ответ: Map-файл — это файл карты исходников, который можно использовать при выполнении отладки.

Пример:

{ "compilerOptions": { ... "sourceMap": true, }
}

Теги
Показать больше

Похожие статьи

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

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

Кнопка «Наверх»
Закрыть