TypeScript поддержка в современных браузерах
Я только что прочитал некоторую рекламную информацию, относящуюся к TypeScript, и кроме того, у меня нет опыта работы с этим надмножеством JavaScript. Поэтому у меня есть некоторые основные вопросы:
- Каков статус встроенной поддержки TypeScript современными браузерами?
- Каковы позиции основных поставщиков браузеров для будущей поддержки TypeScript изначально?
- Какова связь между TypeScript и ECMAScript6 и TypeScript предоставляет гораздо больше функций, чем ECMAScript6?
Не стесняйтесь отвечать на все или на подмножество вопросов. Спасибо.
Ответы
Ответ 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.