Подтвердить что ты не робот

TypeScript поддержка в современных браузерах

Я только что прочитал некоторую рекламную информацию, относящуюся к TypeScript, и кроме того, у меня нет опыта работы с этим надмножеством JavaScript. Поэтому у меня есть некоторые основные вопросы:

  • Каков статус встроенной поддержки TypeScript современными браузерами?
  • Каковы позиции основных поставщиков браузеров для будущей поддержки TypeScript изначально?
  • Какова связь между TypeScript и ECMAScript6 и TypeScript предоставляет гораздо больше функций, чем ECMAScript6?

Не стесняйтесь отвечать на все или на подмножество вопросов. Спасибо.

4b9b3361

Ответ 1

Родная поддержка

TypeScript не должен запускаться изначально. Тем не менее, это может быть довольно легко, например, https://github.com/basarat/typescript-script добавляет поддержку тегов скрипта (хотя это добавляет 6 МБ поддержки JS на страницу).

Поставщики браузеров не будут добавлять такую поддержку (и не должны). Браузер запускает JavaScript и TypeScript может быть перенесен на лету, если вы хотите 🌹

Неродная поддержка

Каков статус поддержки TypeScript современными браузерами?

Typescript компилируется в JS, поэтому поддерживается всеми браузерами (даже IE6)

Каковы позиции основных поставщиков браузеров для будущей поддержки TypeScript?

Никакой работы не требуется от имени поставщиков браузеров.

Какова связь между TypeScript и ECMAScript6 и обеспечивает ли TypeScript гораздо больше возможностей, чем ECMAScript6?

Да, например, из будущих версий JavaScript, например полей классов и статических свойств в классах.

Ответ 2

Typescript не может быть запущен или понят в любом браузере. Итак, Typescript скомпилирован в Javascript (который могут понять браузеры). Typescript может использовать все функции ES6, и во время компиляции они будут преобразованы в параметры компиляции Target, такие как ES5.

Ответ 3

Попытка спроектировать веб-браузер, который бы изначально мог поддерживать более одного языка одновременно, это именно то, что Google пытался сделать с Dart. Для Chrome был запланирован движок Dart, но в итоге это оказалось слишком большой задачей с очень небольшим преимуществом, кроме "просто не использовать java-скрипт".

Я подозреваю, что поддержка Typescript изначально была бы такой же сложной задачей. Вероятно, лучше просто улучшить ECMAScript и добавить несколько идей TS, где они имеют смысл. Я действительно люблю TS, хотя.

Ответ 4

В настоящее время это не будет работать, хотя это интересная тема. Было бы полезно узнать, будет ли в какой-то момент ECMAScript поддерживать интерфейсы, типы и другие вещи. Особенно то, что я могу заметить, что ES на самом деле медленно берет некоторые части из TypeScript, например, перечисления.

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