Pull to refresh

Comments 3

Когда-то тоже разобрался с философией TS, взглянув на него под углом теории множеств, до этого, в частности, никак не понимал смысл {...} & {...}

Так что any — парадокс множеств, и анализировать его с этой точки зрения бессмысленно

any - это просто "отсутствие типизации", оно вообще не входит в иерархию типов, и просто выключает проверку типов для отдельно взятого значения.

В статье не упомянуты ещё функции. Там есть свои приколы. Например, "матерь всех функций" выглядит так: type F = (...args: never[]) => unknown - в параметрах функции наследование развернуто в обратную сторону (подробнее см. тут)

Автор разбирает одну из основных особенностей TS - вариантность типов. В TypeScript объекты и классы являются ковариантными в типах их свойств. Каждый сложный тип является ковариантным в своих членах, будь то: массив, объект, классы, а также возвращаемые типы функций.
Есть одно исключение: типы параметров функции контрвариантны. Все вместе с примерами хорошо разбирается в книге "Профессиональный TypeScript". Автор - Борис Черный.
Очень советую к ознакомлению :)

Sign up to leave a comment.

Articles