【发布时间】:2015-11-10 03:16:30
【问题描述】:
在 Typescript 中使用 'var' 或 'let' 到底有什么区别?我知道“让”允许将变量进一步定义到一个范围内,而不会在所述范围之外使用它。对于 for 循环中的迭代器来说,这显然是一个很好的优势。我知道这是一个 ES6 定义,所以编译到 ES6 的 'var' 和 'let' 看起来应该几乎相同。
但是,当它编译成不支持“let”的 ES5 javascript 时,究竟发生了什么?编译器是否创建了奇怪的命名变量,以防止在 Typescript 文件的上下文中使用所述变量?在整个函数中定义许多“让”变量的情况下会发生什么?是否存在我应该关注的性能影响?
基本上,typescript 将 let 变量编译为 ES5 javascript 时会发生什么?
【问题讨论】:
-
我认为这对 Programmers.SE 来说不是一个好问题:这个网站是关于软件开发概念的,但您询问的是特定语言的具体实现细节。如果您对一般编译器如何实现词法范围感兴趣,那么这可能是这里的主题(但可能过于广泛)。由于您本质上是在询问编程工具,因此我投票支持迁移到 Stack Overflow,这似乎更适合此类问题。
-
我认为这是一个很好的问题。
标签: compilation typescript ecmascript-6 ecmascript-5