ECMAScript 6 Iterator
let obj = {
[Symbol.iterator]: function* () {
yield 1;
yield 2;
}
}
[...obj] // [1, 2]默认使用 Iterator 的场景
最后更新于
let obj = {
[Symbol.iterator]: function* () {
yield 1;
yield 2;
}
}
[...obj] // [1, 2]最后更新于
for (let v of [1, 2, 3, 4]) {
if (v === 1) {
continue;
} else if (v === 4) {
break;
}
console.log(v);
}
// 2 3let set = new Set().add('a').add('b').add('c');
let [a, b] = set;
// a = 'a'
// b = 'b'
let [first, ...rest] = set;
// first = 'a'
// rest = ['b', 'c']function fn (x, y, z) {
console.log(x, y, z);
}
let arr = [1, 2, 3];
fn(...arr); // 1 2 3let generator = function* () {
yield 1;
yield* [2, 3];
yield 4;
};
var iterator = generator();
iterator.next() // { value: 1, done: false }
iterator.next() // { value: 2, done: false }
iterator.next() // { value: 3, done: false }
iterator.next() // { value: 4, done: false }
iterator.next() // { value: undefined, done: true }