es6-for-of
es6-for-of
by 郭 凡
JavaScript
let arr = ['a', 'b' , 'c'];
for(let i of arr) {
if(i == 'b') {
break;
}
console.log(i);
}
let it = arr[Symbol.iterator]();
console.log(it.next());
console.log(it.next());
console.log(it.next());
console.log(it.next());
class RangeIterator {
constructor(start, stop) {
this.value = start;
this.stop = stop;
}
[Symbol.iterator]() { return this; }
next() {
var value = this.value;
if (value < this.stop) {
this.value++;
return {done: false, value: value};
} else {
return {done: true, value: undefined};
}
}
}
function range(start, stop) {
return new RangeIterator(start, stop);
}
let demo = range(0, 3);
let ie = demo[Symbol.iterator]();
console.log(ie.next());
console.log(ie.next());
console.log(ie.next());
console.log(ie.next());
let str = "hell";
let st = str[Symbol.iterator]();
console.log(st.next());
console.log(st.next());
console.log(st.next());
console.log(st.next());
console.log(st.next());