Информационные технологииStfw.Ru 🔍
🕛

Доступен язык TypeScript 2.0, продвигаемый Microsoft в качестве дополнения к JavaScript

Компания Microsoft опубликовала релиз TypeScript 2.0, языка для разработки web-приложений, расширяющего возможности javascript. ..., Компания Microsoft опубликовала релиз
Компания Microsoft опубликовала релиз TypeScript 2.0, языка для разработки web-приложений, расширяющего возможности javascript. Код компилятора, транслирующего код TypeScript в представление javascript, распространяется под лицензией Apache 2.0, разработка ведётся в публичном репозитории через сервис GitHub. Спецификации языка открыты и опубликованы в рамках соглашения Open Web Foundation Specification Agreement.
TypeScript расширяет возможности javascript, оставаясь полностью обратно совместимым, что сводит к минимуму затраты на адаптацию существующих приложений. Основной принцип языка - весь существующий код на javascript совместим с TypeScript, т.е. в программах на TypeScript можно использовать стандартные javascript-библиотеки и ранее созданные наработки. Более того, можно оставить существующие javascript-проекты в неизменном виде, а данные о типизации разместить в виде аннотаций, которые можно поместить в отдельные файлы, которые не будут мешать разработке и прямому использованию проекта (например, подобный подход удобен при разработке javascript-библиотек). Итоговое приложение на TypeScript компилируется в обычный javascript, который можно выполнить в любом современном web-браузере или использовать c Node.js.
От javascript новый язык отличается средствами для явного определения типов, поддержкой использования полноценных классов, а также поддержкой подключения модулей. Статическая типизация позволяет избежать многих ошибок в процессе разработки, даёт возможность задействовать дополнительные техники оптимизации, упрощает отладку и делает код более читаемым и простым для доработки и поддержки сторонними разработчиками. Кроме аннотаций данные о типах могут быть определены с использованием "generic", что позволяет вводить специальные дополнительные параметры типов, которые дают возможность выявлять ошибки в реализации классов, интерфейсов и методов без дополнительных аннотаций типов (например, генерик для функции map позволяет считать, что переменные создаваемые конструкциями в которых используется map можно рассматривать как числовые).
Основные новшества TypeScript 2.0:
Упрощена операция установки файлов ".d.ts" с информацией о типах для существующих библиотек. Например, для установки данных о типах библиотеки lodash теперь достаточно выполнить команду "npm install -s @types/lodash" и загруженные данные о типах будут автоматически использованы при импорте библиотеки lodash в любой части приложения без необходимости применения дополнительных инструментов для управления зависимостями;
Возможность определения типов, не допускающих пустые (null) и неопределённые значения (undefined), а также отдельные типы Null и Undefined, которые позволяют разработчику явно контролировать ситуации в которых допустимо использование значений null и undefined. Так как изменение в обработке null/undefined нарушает обратную совместимость для включения проверки добавлен отдельный режим "--strictNullChecks";
Расширение средств для оценки применимости типов на основе анализа потока выполнения программы, позволяющих, например, выявлять ситуации использования неинициализированных значений из-за несрабатывания условного оператора, которые не определяются статическим анализатором и возникают в зависимости от хода выполнения программы;
Добавлен модификатор "readonly", позволяющий определять свойства, доступные только для чтения.

Также по теме:
Каталог лучших, бесплатных программ.