gpt4 book ai didi

javascript - 为什么Typescript中的 `for...of`会在循环之前复制可迭代对象?

转载 作者:搜寻专家 更新时间:2023-10-30 21:29:31 24 4
gpt4 key购买 nike

例如:

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 playground here 中实时查看此内容.

最佳答案

因为您可以在循环体中重新分配 aKeys,它不应该影响迭代。当然,当您不需要时就没有必要了,但是转译器并不确定。

一般来说,正如@Thomas 在评论中观察到的那样,表达式必须只计算一次 - 虽然很容易看出它不会对 const 变量的引用产生影响,一般来说这并不容易。

关于javascript - 为什么Typescript中的 `for...of`会在循环之前复制可迭代对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44096520/

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