gpt4 book ai didi

typescript - TypeScript 和 ES6 的关系

转载 作者:搜寻专家 更新时间:2023-10-30 20:34:10 25 4
gpt4 key购买 nike

全部:

我是 Typescript 和 ES6 的新手,首先让我感到困惑的是它们之间的关系,来自 MSDN:

TypeScript 1.5 adds a number of new ES6 features including modules, destructuring, spread, for..of, symbols, computed properties, let/const, and tagged string templates.

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

这是否意味着 TypeScript 只是使用它自己的方式(一些稍微不同的语法和转换)来重做 ES6 中已经存在的东西(仅用于类型目的),

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

最佳答案

TypeScript 是一种脚本代码,可转换为 JavaScript - ES5 或 ES6(以及 ES3)。

TypeScript 1.5 adds a number of new ES6 features including modules, destructuring, spread, for..of, symbols, computed properties, let/const, and tagged string templates.

这意味着您可以在 TypeScript 代码中使用模块、for..of 和其他功能,并且 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 中编程,反之亦然。

关于typescript - TypeScript 和 ES6 的关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35138080/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com