for…of
ES6 为字符串添加了遍历器接口(详见《Iterator》一章),使得字符串可以被for…of循环遍历。
除了遍历字符串,这个遍历器最大的优点是可以识别大于0xFFFF的码点,传统的for循环无法识别这样的码点。
let text = String.fromCodePoint(0x20BB7);
for (let i = 0; i < text.length; i++) {
console.log(text[i]);
}
// " "
// " "
for (let i of text) {
console.log(i);
}
// "𠮷"
for(let codePoint of 'foo'){
console.log(codePoint)
}
//f
//o (2)
let iterable = [1,2,3]
for(let value of iterable){
}
for…in
for(let i in 'foo'){
console.log(i)
console.log('foo')
}
//0 foo
//1 foo
//2 foo