首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TypeScript与ES6的关系

TypeScript与ES6的关系
EN

Stack Overflow用户
提问于 2016-02-01 18:52:42
回答 3查看 5.6K关注 0票数 11

全部:

我对打字稿和ES6非常陌生,第一件事让我感到困惑的是他们之间的关系,来自MSDN:

TypeScript 1.5添加了许多新的ES6特性,包括模块、析构、扩展、for..of、符号、计算属性、let/const和带标记的字符串模板。

我的困惑是(我知道有很多帖子说打字本是JS的超集):

剂量--这意味着TypeScript只是使用自己的方式(一些稍微不同的语法和transpile ),再次重做ES6中已经存在的内容(只是为了类型的目的),

是否意味着ES6基本上可以做TypeScript中的所有事情?反之亦然,

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-02-01 19:04:08

TypeScript是一个脚本代码,它被转到JavaScript --或者是ES5或者ES6 (和ES3也是)。

TypeScript 1.5添加了许多新的ES6特性,包括模块、析构、扩展、for..of、符号、计算属性、let/const和带标记的字符串模板。

这意味着您可以使用模块、for..of和TypeScript代码中的其他特性,而TypeScript编译器则将代码转换为与ESx兼容的代码。让我们以for..of为例:

TypeScript代码:

代码语言:javascript
复制
for (let t of [1,2,3]) {
    console.log(t)
} 

被转到ES5中,如下所示:

代码语言:javascript
复制
for (var _i = 0, _a = [1, 2, 3]; _i < _a.length; _i++) {
    var t = _a[_i];
    console.log(t);
}

但是,如果您的目标是ES6,那么转移溢出就是简单的:

代码语言:javascript
复制
for (let t of [1,2,3]) {
    console.log(t);
}

在每种情况下,TypeScript都生成在ES5、ES6和ES6中行为相同的代码(这是简化的,因为它并不总是可能的)。

TypeScript和ES6的表达能力没有差异。区别在于TypeScript编译器帮助您对代码进行静态分析。否则,无论您可以在ES6中编程,还是可以使用TypeScript编程,也可以使用相反的方式编程。

票数 10
EN

Stack Overflow用户

发布于 2016-02-01 18:59:20

类型记录是一个创建ecmascript的编译器。类型记录源代码是支持类型、接口、超类/子类以及您从其他编程语言中知道的任何内容的代码。如前所述,结果是在任何浏览器中运行的ecmascript。

票数 2
EN

Stack Overflow用户

发布于 2016-02-01 19:32:44

ecmascript是Javascript遵循的标准规范。ES5、ES6、ES7是本标准规范的版本。打字本被写成Javascript。根据您所拥有的节点编译器的版本,将确定您的类型记录将被编译到哪个版本的Javascript标准版本。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35138080

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档