Языки / Новости TypeScript / Microsoft / Languages
Недавно прочитал про выход TypeScript 2.0 RC. Делюсь фичами, которые мне понравились:
Интереснейшая фишка, которая, в том числе, позволяет делать другие интересные фишки. Давайте посмотрим на примере.
Ключевой момент здесь — поле kind, значение которого зафиксировано (за счёт строкового литерального типа) и разное для разных типов. Пока ничего экстраординарного. Однако, посмотрите на следующий блок кода, где TypeScript сам догадывается, какой тип используется для каждого кейса:
Неплохо?
В TypeScript 1.8 были добавлены строковые литеральные типы. Теперь можно сделать литеральными boolean, number и enum. Помимо таких забавных применений:
Есть более интересные варианты. Давайте вспомним про tagged unions. Допустим, мы хотим возвращать либо экземпляр типа, либо причину ошибки. При этом, сохраняя проверку типов — основную ценность TypeScript по сравнению с обычным JavaScript.
Теперь, в зависимости от значения поля success, TypeScript будет автоматически выводить тип в подобных ситуациях:
Это, на мой взгляд, наиболее интересные нововведения в TypeScript 2.0 после беты. Полный список новых фич в TypeScript 2.0, разумеется, более впечатляющий.
Языки / Новости TypeScript / Microsoft / Languages