全部:
我对打字稿和ES6非常陌生,第一件事让我感到困惑的是他们之间的关系,来自MSDN:
TypeScript 1.5添加了许多新的ES6特性,包括模块、析构、扩展、for..of、符号、计算属性、let/const和带标记的字符串模板。
我的困惑是(我知道有很多帖子说打字本是JS的超集):
剂量--这意味着TypeScript只是使用自己的方式(一些稍微不同的语法和transpile ),再次重做ES6中已经存在的内容(只是为了类型的目的),
和
是否意味着ES6基本上可以做TypeScript中的所有事情?反之亦然,
发布于 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代码:
for (let t of [1,2,3]) {
console.log(t)
} 被转到ES5中,如下所示:
for (var _i = 0, _a = [1, 2, 3]; _i < _a.length; _i++) {
var t = _a[_i];
console.log(t);
}但是,如果您的目标是ES6,那么转移溢出就是简单的:
for (let t of [1,2,3]) {
console.log(t);
}在每种情况下,TypeScript都生成在ES5、ES6和ES6中行为相同的代码(这是简化的,因为它并不总是可能的)。
TypeScript和ES6的表达能力没有差异。区别在于TypeScript编译器帮助您对代码进行静态分析。否则,无论您可以在ES6中编程,还是可以使用TypeScript编程,也可以使用相反的方式编程。
发布于 2016-02-01 18:59:20
类型记录是一个创建ecmascript的编译器。类型记录源代码是支持类型、接口、超类/子类以及您从其他编程语言中知道的任何内容的代码。如前所述,结果是在任何浏览器中运行的ecmascript。
发布于 2016-02-01 19:32:44
ecmascript是Javascript遵循的标准规范。ES5、ES6、ES7是本标准规范的版本。打字本被写成Javascript。根据您所拥有的节点编译器的版本,将确定您的类型记录将被编译到哪个版本的Javascript标准版本。
https://stackoverflow.com/questions/35138080
复制相似问题