TypeScript: язык перехода к будущему JavaScript

Этот новый язык Microsoft позволяет использовать возможности ECMAScript 6 и 7 прямо сейчас, не дожидаясь их внедрения в браузерах.

Это первый язык программирования, который используется временно. В результате синтаксиса, схожего с JavaScript и компилируемого на этом языке, после того, как все дополнительные функции будут реализованы интерпретаторами, код TypeScript можно будет заменить кодом JavaScript. Генерируется первым или возобновляется как есть.
Так разработчики смогут удалить шаг компиляции в коде JavaScript и TypeScript может исчезнуть! Это отличается от того, что предлагает Dart, который предлагает те же функции, но хочет, чтобы заменить JavaScript в браузерах.
Это набор JavaScript: Можно взять код, написанный в последнем, сделать его исходником TypeScript и добавить в него, например, классы и интерфейса .

TypeScript используется в производстве с всегда положительными отзывами, так как он значительно повышает производительность, и никогда не хочется возвращаться к JavaScript. Единственным заметным недостатком является медленная компиляция по крупным проектам. Это язык программирования Angular 2 (от Google).

Компилятор является открытым исходным кодом под лицензией Apache и построен вместе с Node.js и Джейком, своего рода Make, предназначенным для JavaScript-проектов, где макефилы заменяются на jakefiles. Исходный код сам написан в TypeScript, и преобразован в уникальный файл TypescectServices.js (компилятор), поэтому он использует интерпретатор V8 от Google !
Исполняемый код не предоставляется непосредственно для скачивания (его можно производить самостоятельно), а является частью Visual Studio 2013 или в виде модуля npm.

TypeScript vs JavaScript
Playground показывает, как код TypeScript становится JavaScript

Статические типы

Форма var x: boolean может раздражать на первом этапе. Писать номер x или box x, как в C, было бы проще. Следуя этой логике, вместо того, чтобы писать класс x или должен писать определение x: class.
Но это, тем не менее, оправдывается здесь необязательными типами: можно написать var x и иметь динамическую переменную, и тип которой может измениться во время обработки, или добавить статический тип. Тип явно вариант, и этот синтаксис находится в строке Asm.js или Julia.

Язык имеет следующие типы:

Функции

Функция может иметь общие аргументы путем перегрузки или объединения.
Пример объединения:

function(s:string | string[]) 

Классы и интерфейс

Синтаксис объявления класса похож на синтаксис ECMAScript 6 и фактически похож на синтаксис большинства языков программирования. Конструктор определяется словом constructor и добавляется этот для ссылки на атрибут в классе.

Например:

class voiture {
  passagers = 4;
  constructor(personnes : number) {
    this.passagers = personnes;
  }
  
  mamethode(message : string) {
    console.log(message);
  }
}

var mavoiture = new voiture(2);

Наследование происходит с ключевым словом extends:

class voiture extends vehicule { ... }

Конструктор может вызвать конструктора унаследованного класса методом super (...).
Поскольку атрибуты являются общедоступными по умолчанию, для объявления участника частным требуется только ключевое слово private.
Слово static-reserved может применяться к членам класса, чтобы разделить назначенные значения между всеми унаследованными классами.

Наследие переводится в JavaScript с прототипами, а остальные элементы используются только для элементов управления компилятора и не преобразуются. Вероятно, язык будет развиваться для более точного перевода, когда ECMAScript будет широко реализован.

Классы могут быть связаны с интерфейсами. Пример:

class moteur extends voiture {
  puissance : number;
}
interface voiture {
  passagers : number;
}

var mavoiture : voiture = { passagers : 4, puissance : 300 };

Таким образом, есть как наследие, так и композиция, чего не предлагают, например, языки Go и Dart. К сожалению, это также кажется не запланированным для ES 6 и может заставить остаться на TypeScript, если он будет использован, так как это может быть чрезвычайно полезно для перестановки кода.

Другие добавления

Я не буду подробно описывать все функции TypeScript, которые подробно описаны с примерами в документации на сайте, а дам обзор других возможностей языка.

Недостающие функции

Дополнения к ECMAScript, которые уже реализованы в браузерах, не упоминаются в последней спецификации TypeScript:

Зачем использовать TypeScript

?

TypeScript становится все более популярным, о чем свидетельствует статистика Google Trends:

TypeScript vs les autres

Преимущество TypeScript перед всеми другими языками, которые компилируются в JavaScript, заключается в том, что он является встроенным: Можно повторно использовать JS-файл и включить в него функции, добавленные TypeScript, а затем переименовать файл из .js в .t.
А когда язык развивается, он делается с функциями, определенными в ECMAScript 6 и далее, и таким образом остается наложение JS.

Для создания большого проекта JavaScript требуется TypeScript. Код продукта оптимизирован для интерпретаторов JIT. Многоразовость кода значительно облегчается. И не стоит опасаться за будущее, даже исходный код будет легко использоваться повторно без компилятора. У него есть недостатки, но его можно заполнить, объединив код JavaScript с кодом TypeScript. Он не решает всех проблем JS, потому что проблемы JS не присущи ему, они исходят от браузеров, DOM или незнания языка.
Он в основном решает вопрос о пригодности кода. И он избавляет нас от использования Dart, которое разрежет веб-программирование.

TypeScript. Официальный сайт. Язык был создан Андерсом Хейлсбергом, который также является автором Turbo Pascal, C #.
Авторы мануала приложили особые усилия, чтобы помочь выучить язык: каждый пример можно визуализировать в плейграунде, где он может быть изменен, и конвертируется в JS .

Загрузите компилятор как надстройку для Visual Studio. Его можно получить под Node с командой: npm install -g typescrit.
Язык поддерживается помимо VS компанией Eclipse и различными коммерческими EDI.

Плейграунд. Проверьте в прямом эфире перевод программы TypeScript на JavaScript.

Programming and датировал languages - Asm.js - - Бейсик - C - C++- - C # - Дарт - Эйфель- - Го - Ява - JavaScript- Джулия- - Паскаль- PHP- - Питон - Пролог - - Руби - - Ла СкалаСкриптолСвифт TypeScriptHTMLВасмXMLXAML SQL