Рубріки: Подборки

Ответы на самые популярные вопросы на собеседовании по TypeScript: связь TS и JS

Богдан Мирченко

Технический писатель и программист Райан Телин поделился в блоге на dev.to 50 самыми популярными вопросами на собеседовании по TypeScript и ответами на них. Мы разбили подборку на четыре части. Первую часть можно посмотреть здесь, вторую здесь. В третью часть вошли девять вопросов о связи между TypeScript и JavaScript и продвинутые вопросы.

 18. Как TypeScript связан с JavaScript?

TypeScript — это синтаксическое надмножество JavaScript с открытым исходным кодом, которое компилируется в JavaScript. Все оригинальные библиотеки и синтаксис JavaScript по-прежнему работают, но TypeScript добавляет дополнительные параметры синтаксиса и функции компилятора, которых нет в JavaScript. 

TypeScript также может взаимодействовать с большинством тех же технологий, что и JavaScript, такими как Angular и jQuery.

 19. Что такое JSX в TypeScript? 

JSX — это встраиваемый XML-подобный синтаксис, который позволяет создавать HTML. TypeScript поддерживает встраивание, проверку типов и компиляцию JSX непосредственно в JavaScript.

 20. Какие режимы JSX поддерживает TypeScript? 

TypeScript имеет встроенную поддержку для режимов preservereact и react-native.

  • preserve сохраняет JSX без изменений для использования в последующем преобразовании;
  • react не выполняет преобразование JSX, а вместо этого генерирует метод react.createElement и выводит его как файл с расширением .js;
  • react-native сочетает в себе свойства режимов preserve и react: поддерживает весь JSX и выводит его как файл с расширением .js.

 21. Как скомпилировать файл TypeScript?

Для этого нужно вызвать компилятор TypeScript tsc. Компилятор устанавливается с помощью менеджера пакетов npm:

npm install -g typescript
tsc <TypeScript File Name>

22. Какие области видимости доступны в TypeScript? Как это связано с JavaScript?

  • Глобальная область: определяется вне любого класса и может использоваться в любом месте программы;
  • Область видимости функции/класса: переменные, определенные в функции или классе, которые могут использоваться в любом месте в пределах этой области;
  • Локальная область действия/область действия блока: переменные, определенные в локальной области видимости, могут использоваться в любом месте этого блока.

Продвинутые вопросы по TypeScript

 23. Что такое стрелочные/лямбда-функции? 

Стрелочные функции — это сокращенный синтаксис для определения функциональных выражений анонимных функций. Это похоже на лямбда-функции в других языках программирования. Стрелочная функция позволяет пропустить ключевое слово function и написать более короткий код.

 24. Объясните, что такое Rest-параметры и правила их объявления 

Rest-параметры позволяют передавать функции различное количество аргументов (ноль и более). Это полезно, когда нет информации о том, сколько параметров получит функция. Все аргументы после оставшегося символа  будут сохранены в массиве. Например:

function Greet(greeting: string, ...names: string[]) {
    return greeting + " " + names.join(", ") + "!";
}

Greet("Hello", "Steve", "Bill"); // returns "Hello Steve, Bill!"

Greet("Hello");// returns "Hello !" 

Rest-параметр должен быть последним в определении параметра, при этом может быть только один rest-параметр на функцию.

 25. Что такое директивы с тремя наклонными чертами (Triple-Slash Directives)? Какие они бывают? 

Директивы с тремя наклонными чертами — это однострочные комментарии, содержащие тег XML для использования в качестве директив компилятора. Каждая директива указывает, что загружать в процесс компиляции. Директивы с тремя наклонными чертами работают только в верхней части своего файла и будут рассматриваться как обычные комментарии в любом другом месте файла.

  • /// <reference path=”…” /> — наиболее распространенная директива, которая определяет зависимость между файлами;
  • /// <reference types=”…” /> — определяет зависимость для пакета;
  • /// <reference lib=”…” /> — позволяет исключить встроенный файл «lib».

 26.Что делает тип Omit?

Omit — это форма служебного типа, которая упрощает преобразование общих типов. Omit позволяет создать тип, передав текущий Type и выбрав Keys, которые нужно пропустить в новом типе. 

Omit<Type, Keys>

Например:

interface Todo {
  title: string;
  description: string;
  completed: boolean;
  createdAt: number;
}

type TodoPreview = Omit<Todo, "description">;

Это третья часть вопросов и ответов для собеседования по TypeScript. С первой можно ознакомиться здесь, со второй здесь. В заключительной части мы продолжим разбирать продвинутые вопросы по TypeScript.

Останні статті

Что такое прокси-сервер: пояснение простыми словами, зачем нужны прокси

Прокси (proxy), или прокси-сервер — это программа-посредник, которая обеспечивает соединение между пользователем и интернет-ресурсом. Принцип…

21.11.2024

Что такое PWA приложение? Зачем необходимо прогрессивное веб-приложение

Согласитесь, было бы неплохо соединить в одно сайт и приложение для смартфона. Если вы еще…

19.11.2024

Как создать игру на телефоне: программирование с помощью конструктора

Повсеместное распространение смартфонов привело к огромному спросу на мобильные игры и приложения. Миллиарды пользователей гаджетов…

17.11.2024

Google Bard: эффективный аналог ChatGPT

В перечне популярных чат-ботов с искусственным интеллектом Google Bard (Gemini) еще не пользуется такой популярностью…

14.11.2024

Скрипт и программирование: что это такое простыми словами

Скрипт (англ. — сценарий), — это небольшая программа, как правило, для веб-интерфейса, выполняющая определенную задачу.…

12.11.2024

Дедлайн в разработке: что это такое простыми словами

Дедлайн (от англ. deadline — «крайний срок») — это конечная дата стачи проекта или задачи…

11.11.2024