我偶然发现了关于传播运营商的这个例子,并试图了解这里发生了什么:
let str = 'helloworld';
let first, rest;
[first, ...rest] = [...str];
console.log(first); // "h"
console.log(rest); // ["e", "l", "l", "o", "w", "o", "r", "l", "d"]
有人可以帮助我吗?
答案 0 :(得分:-1)
所以我读到了扩展运算符以及它如何实现迭代器协议,这就是我解释它的方式:
let str = 'helloworld';
let first, rest = [];
let itStr = str[Symbol.iterator]();
first = itStr.next().value;
while (val = itStr.next()) {
if (val.done) {
break;
}
rest.push(val.value);
};
console.log(first); // "h"
console.log(rest); // ["e", "l", "l", "o", "w", "o", "r", "l", "d"]