Ответы на самые популярные вопросы на собеседовании по TypeScript
Технический писатель и программист Райан Телин поделился в блоге на dev.to 50 самыми популярными вопросами на собеседовании по TypeScript и ответами на них. Мы разбили подборку на четыре части. В первую вошли восемь вопросов.
1. Основные особенности TypeScript
- Кроссплатформенность: компилятор TypeScript можно установить на любой операционной системе, включая Windows, macOS и Linux.
- Возможности ES6: язык включает в себя большинство функций ECMAScript2015 (ES6), например, функции
arrow
. - Объектно-ориентированный язык: TypeScript предоставляет все стандартные функции ООП, такие как классы, интерфейсы и модули.
- Статическая проверка типов: TypeScript использует статическую типизацию и помогает проверять типы во время компиляции. Так можно найти ошибки времени компиляции при написании кода без запуска скрипта.
- TypeScript допускает дополнительную статическую типизацию.
- Манипуляции с
DOM
: можно использовать TypeScript для управлением DOM для добавления и удаления элементов клиентской веб-страницы.
2. Преимущества использования TypeScript
- TypeScript более выразительный язык, то есть в нем меньше синтаксического беспорядка.
- Простая отладка благодаря расширенному отладчику, который фокусируется на обнаружении логических ошибок до времени компиляции.
- Статическая типизация делает TypeScript более легким для чтения и более структурированным, чем динамическая типизация JavaScript.
- Благодаря универсальной транспиляции есть возможность использования на разных платформах как в клиентских, так и в серверных проектах.
3. Какие типы данных встроены в TypeScript?
- Числовой тип: используется для представления значений числового типа. Все числа в TypeScript хранятся как значения с плавающей запятой.
let identifier: number = value;
- Строковый тип: представляет собой последовательность символов, хранящуюся как стандарт кодирования
Unicode UTF-16
.
let identifier: string = " ";
- Логический тип: логический двоичный переключатель, который имеет значения
true
иfalse
.
let identifier: bool = Boolean value;
- Null-тип: представляет переменную, значение которое не определено.
let num: number = null;
- Тип
undefined
: неопределенный литерал, являющийся отправной точкой всех переменных.
let num: number = undefined;
- Тип
void
: тип, присвоенный методами, не имеющим возвращенного значения.
let unusable: void = undefined;
4. Какая сейчас самая стабильная версия TypeScript?
На момент написания статьи — 4.2.4 (от 9 апреля 2021).
5. Что такое интерфейс в TypeScript?
Это синтаксическая конструкция, предназначенная для описания открытой (public) части объекта без реализации (api). Интерфейс определяется с помощью ключевого слово interface
и может включать в себя объявления свойств и методов с использованием функции или функции arrow
.
interface IEmployee { empCode: number; empName: string; getSalary: (number) => number; // arrow function getManagerName(number): string; }
6. Что такое модули в TypeScript?
Модули в TypeScript — это набор связанных переменных, функций, классов и интерфейсов.
По сути, можно представить модули как контейнеры, которые содержат все необходимое для выполнения задач. Модули можно импортировать, чтобы легко обмениваться кодом между проектами.
module module_name{ class xyz{ export sum(x, y){ return x+y; } }
7. Как можно использовать TypeScript в back-end-разработке?
Чтобы воспользоваться преимущества TypeScript для back-end-разработки, можно использовать его вместе с Node.js.
8. Что такое утверждения типа в TypeScript?
Утверждение типа в TypeScript работает аналогично приведению типов в других яп, но без проверки типа или реструктуризации данных, которые возможны в таких языка, как С# и Java. Утверждение типа не влияет на время выполнения и используется исключительно компилятором.
Утверждение типа — это, по сути, мягкая версия приведения типов, которая предлагает компилятору рассматривать переменную как определенный тип, но не заставляет ее вписываться в эту форму, если она находится в другой форме.
Это первая часть вопросов и ответов для собеседования по TypeScript. В следующей будут вопросы, связанные синтаксисом языка.
Сообщить об опечатке
Текст, который будет отправлен нашим редакторам: