2

例如:

const aKeys = [];
for (let key of aKeys) {
...
}

被转译为:

var aKeys = [];
for (var _i = 0, aKeys_1 = aKeys; _i < aKeys_1.length; _i++) {
    var key = aKeys_1[_i];
}

这里有什么意义aKeys_1

您还可以在此处的 Typescript 操场上实时查看此内容。

4

1 回答 1

3

因为你可以aKeys在循环体中重新分配,它不应该影响迭代。当然,如果您不这样做,则没有必要,但是转译器并不确定。

总的来说,正如@Thomas 在评论中观察到的那样,表达式只能被评估一次——虽然很容易看出它对const变量的引用没有什么不同,但总的来说并不那么容易。

于 2017-05-21T11:55:11.820 回答