为什么不能在字符串上定义迭代器?

时间:2019-12-22 18:00:15

标签: javascript iterator

这是一个人为的例子。

我可以使用一个实例数组来做到这一点:

function* cut () {
  for (let slice = 0; slice < 3; slice++) yield '?';
}

const cake = ['?'];
cake[Symbol.iterator] = cut;
const slices = [...cake];
//=> ['?', '?', '?']

但是我不能对字符串做同样的事情

const cake = '?';
cake[Symbol.iterator] = cut;
const slices = [...cake];
//=> ['?']

为什么?

0 个答案:

没有答案