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/


Интересные статьи

Интересные статьи

Уже в понедельник, 19 октября стартует одно из самых масштабных событий в области киберзащиты — Acronis Global Cyber Summit. В этом году наш саммит пройдет в режиме онлайн, и будет до...
Привет, Хабр! Столько всего хочется сегодня рассказать, что даже сложно выбрать, с чего начать. Так что сначала попробую коротко обо всем самом важном: Продукту CLion вчера исполнилось 5 ...
Много всякого сыпется в мой ящик, в том числе и от Битрикса (справедливости ради стоит отметить, что я когда-то регистрировался на их сайте). Но вот мне надоели эти письма и я решил отписатьс...
Как-то у нас исторически сложилось, что Менеджеры сидят в Битрикс КП, а Разработчики в Jira. Менеджеры привыкли ставить и решать задачи через КП, Разработчики — через Джиру.
Здравствуйте. Я уже давно не пишу на php, но то и дело натыкаюсь на интернет-магазины на системе управления сайтами Битрикс. И я вспоминаю о своих исследованиях. Битрикс не любят примерно так,...