Pull to refresh

Comments 14

В недостатки внесите так же возню с проставлением типов (порой совсем не тривиальную).

Огонь! Всё по полочкам.

Но меня бы сильно насторожил работодатель, который начал бы такой формальный опрос)

Я обычно по ts спрашиваю три любых вопроса из этого списка )

Спасибо за хороший обзорный материал;

однако же кое в чём есть сомнения.

Ещё в предыдущей статье встречались конструкции, образованные калькой с английского, но "изучение кривой" в этой части уже никак нельзя списать на то, что так случайно прочитали и запомнили как запомнили, ибо в таком виде невозможно *сделать смысл* из высказанного, *если вы понимаете, о чём я*.

К чему веду:

в тексте есть свидетельства составления на английском и неотсмотренного перевода, возможно, размещение переводного материала без тега (или нейротекста) — по коням!

Отличная подборка, автору благодарность.

В 7ом пункте задвоилось начало.

Не очень. Если материал именно про TS, то половину статьи можно удалить. Всё перемешано, вы часто тут представляете фичи JS как фичи TS. Да и иногда старый синтаксис используете (private vs #).

Вот с ходу в том, что описано в

9. Что такое модули в TypeScript?

10. Как вызвать конструктор базового класса из дочернего класса в TypeScript?

11. Что такое геттеры и сеттеры?

Это же вы по сути JS и описываете? Только в геттерах зачем-то пример с ключевым словом private, хотя пожно было обойтись более коротким #.

19. Какие Модификаторы Доступа Поддерживает TypeScript?

public, private, protected, readonly - ок, это именно из TS, но static тут причём? И почему тогда забыли про модификатор # ? Раз уж всё равно смешиваете оба языка.

28. Что такое декараторы?

Вы используете у себя депрекейтнутые декораторы TS? Иначе зачем про это вообще страшивать. Или тут всё таки про JS-декораторы говорится?

Когда работаешь только с ts долгие годы, напрочь забываешь о голом js, вероятно вот всё и смешалось. В целом, ответы на вопросы интервьювера вполне корректные. Или как минимум, я бы такие ответы принял и не особо вдавался в подробности :D

Про пункт отличия типов и интерфейсов

Реализация: Интерфейсы могут быть реализованы классами, в то время как типы не могут быть непосредственно реализованы.

Если речь про implements, то типы могут быть реализованы в виде класса с некоторыми ограничениями.

Объединение типов: Типы могут быть объединены с помощью оператора |, что позволяет создавать объединение типов.

Объединение интерфейсов ничем не отличается от объединения типов, но на выходе, да, получится тип, вместо интерфейса.

Возможности: Интерфейсы обладают некоторыми дополнительными возможностями, такими как объявление методов и наследование интерфейсов.

Ничто не мешает объявить метод внутри типа.

Касательно наследования и расширения, из данного описания как-будто это суть одного и того же:

interface Foo {}
interface Bar extends Foo {}
  • Foo расширяет Bar

  • Bar наследует Foo

Но как и в случае с классами, интерфейс может быть расширен типом или унаследован от типа, с некоторыми ограничениями. Примеры.

В основное отличие я бы выделил возможность расширения одного и того же интерфейса, за счет множественного объявления. А дальше уже начинаются различные тонкости.

Ребят, сейчас активно изучаю TypeScript, как после всех основных пройденных тем как то закрепить знания? (Реакт например только база у меня)

Зарегистрировался только для того, чтобы написать: модификаторов доступа 3! Задолбали. Static и readonly НЕ модификаторы доступа. Это Другие модификаторы!

К списку типов, рядом с any, я бы добавил unknown.

Помню даже как то сращивали на собесе про разницу any и unknown.

Это на собеседование спрашивают? А мы задачки даем, что бы посмотреть как думает человек. А это вся теория бесполезна без опыта и практики. Человек может всем этим уметь пользоваться но не знаю как это называется

Реализация: Интерфейсы могут быть реализованы классами, в то время как типы не могут быть непосредственно реализованы.

Ну вообще классы могут реализовывать типы: пруф

Sign up to leave a comment.

Articles