Технический писатель и программист Райан Телин поделился в блоге на dev.to 50 самыми популярными вопросами на собеседовании по TypeScript и ответами на них. Мы разбили подборку на четыре части. Первую часть можно посмотреть здесь, вторую здесь, третью здесь. В четвертую часть вошли четыре продвинутых вопроса с ответами и 20 вопросов для самостоятельного изучения.
27. Как добиться перегрузки функции в TypeScript?
Чтобы перегрузить функцию в TypeScript, нужно создать две функции с одним и тем же именем, но с разными типами аргументов/возвращаемых значений. Обе функции должны принимать одинаковое количество аргументов. Это важная часть полиморфизма в TypeScript.
Например, можно создать функцию add, которая суммирует два аргумента, если это числа, и объединяет их, если они являются строками.
function add(a:string, b:string):string;
function add(a:number, b:number): number;
function add(a: any, b:any): any {
return a + b;
}
add("Hello ", "Steve"); // returns "Hello Steve"
add(10, 20); // returns 30 28. Как сделать все свойства интерфейса необязательными?
Чтобы сделать все свойства необязательными, можно воспользоваться частично сопоставленным типом partial.
29. Когда используется ключевое слово unknown?
unknown используется, если неизвестно, какой тип ожидать заранее, но нужно назначить его позже, и если ключевое слово any не будет работать.
30. Что такое декораторы и к чему их можно применить?
Декоратор — это особый вид объявления, который позволяет изменять классы и члены классов сразу, помечая их аннотацией @name. Каждый декоратор должен ссылаться на функцию, которая будет оцениваться во время выполнения.
Например, декоратор @sealed будет соответствовать запечатанной функции. Все, что помечено @sealed, будет использоваться для оценки запечатанной функции.
function sealed(target) {
// do something with 'target' ...
} Декоратор можно прикрепить к:
По умолчанию декораторы не включены. Чтобы их включить, нужно отредактировать поле experimentalDecorators в параметрах компилятора в файле tsconfig.json или в командной строке.
31. Какой модификатор доступа по умолчанию для переменных-членов и методов в TypeScript?
32. Когда используется ключевое слово declare?
33. Что такое дженерики в TypeScript? Когда они используются?
34. Как и когда используется коллекция enum?
35. Что такое пространства имен и зачем их использовать?
36. Как реализуются необязательные параметры?
37. Назовите три отличия между TypeScript и JavaScript.
38. Является ли TypeScript языком функционального программирования?
39. Какие функции TypeScript были бы полезны для full-stack-разработчика?
40. Назовите преимущества TypeScript Language Service?
41. Как создать повторно используемые компоненты?
42. В чем разница между кортежем и массивом в TypeScript?
43. Какие коллекции поддерживает TypeScript?
44. В чем разница между внутренними и внешними модулями в TypeScript?
45. Для чего используется тип Record?
46. Какие преимущества дает TypeScript стеку технологий?
47. Как сгенерировать файл определения с помощью TypeScript?
48. Поддерживает ли TypeScript абстрактные классы?
49. Как настроить файл TypeScript для компиляции при каждом изменении?
50.Что такое Ambient в TypeScript и когда их использовать?
Райан Телин также советует:
На фоне роста спроса на ликвидность в бычьем рынке 2025 года, криптозаймы снова выходят на…
Прокси (proxy), или прокси-сервер — это программа-посредник, которая обеспечивает соединение между пользователем и интернет-ресурсом. Принцип…
Согласитесь, было бы неплохо соединить в одно сайт и приложение для смартфона. Если вы еще…
Повсеместное распространение смартфонов привело к огромному спросу на мобильные игры и приложения. Миллиарды пользователей гаджетов…
В перечне популярных чат-ботов с искусственным интеллектом Google Bard (Gemini) еще не пользуется такой популярностью…
Скрипт (англ. — сценарий), — это небольшая программа, как правило, для веб-интерфейса, выполняющая определенную задачу.…