gpt4 book ai didi

javascript - 为什么我们必须用 [Symbol.iterator] 定义 Symbol.iterator ? javascript 中的可迭代对象?

转载 作者:太空宇宙 更新时间:2023-11-04 16:26:46 25 4
gpt4 key购买 nike

为什么我们要在js中使用那些[]来定义@@iterator协议(protocol)。

// Works smoothly
var iterable = {
[Symbol.iterator]() {}
}

// This fails with SyntaxError: unexpected token .
var iterable = {
Symbol.iterator() {}
}

最佳答案

因为对象文字中的键必须是有效的标识符(“变量名称”),并且按字面意思作为给定的名称。如果要使用表达式作为键(Symbol.iterator 的值,而不是字面名称“Symbol.iterator”),则需要使用 computed property { [...]: ... } 语法。

关于javascript - 为什么我们必须用 [Symbol.iterator] 定义 Symbol.iterator ? javascript 中的可迭代对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40153733/

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