gpt4 book ai didi

javascript - 为什么 JavaScript 使用符号而不仅仅是字符串?

转载 作者:行者123 更新时间:2023-11-28 14:36:44 26 4
gpt4 key购买 nike

JavaScript 中的“Iterables”是带有 Symbol.iterator 的对象属性(property)。例如:

let x = { 
[Symbol.iterator]: function * () {
yield * [ 1, 2, 3];
}
};

[ ...x ] // Array [ 1, 2, 3 ]

所以Symbol.iterator只是一个约定。

但是为什么会有这个概念,Symbol ,发明时string可以做类似的工作吗?

let x = { 
iterator: function * () {
yield * [ 1, 2, 3 ];
}
};

// Invalid, but would be equivalent to [ ...x['iterator']() ]
[ ...x ]

最佳答案

Symbol.iterator 是一个符号,因此您无法复制或重新创建它。这消除了您意外覆盖它的可能性。

我鼓励您观看this video关于 JavaScript 中的符号。

关于javascript - 为什么 JavaScript 使用符号而不仅仅是字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49676774/

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