Javascript 扩展算子与迭代器协议
我偶然发现了这个关于spread运算符的示例,并试图了解这里发生了什么:Javascript 扩展算子与迭代器协议,javascript,Javascript,我偶然发现了这个关于spread运算符的示例,并试图了解这里发生了什么: 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"] 有人能帮我吗?所以我读到了关于spread运算符的内容,以及它是如何实现迭代器协议的,下面
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"]
有人能帮我吗?所以我读到了关于spread运算符的内容,以及它是如何实现迭代器协议的,下面是我对它的解释:
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"]