📜  es6 中的 for of 循环 - Javascript (1)

📅  最后修改于: 2023-12-03 15:00:37.220000             🧑  作者: Mango

ES6 中的 for...of 循环

在 ES6 中提供了新的遍历方法 for...of 循环,用于遍历可迭代对象(例如数组、字符串、Map、Set等等)中的元素。

语法
for (let element of iterable) {
  // 循环体代码块
}

其中,iterable 是一个可迭代对象,element 声明用于存储当前迭代的元素,循环体内执行的代码会对每个元素都执行一遍。

示例
const arr = ['a', 'b', 'c'];

for (let element of arr) {
  console.log(element);
}
// 输出 a, b, c

const str = 'hello';

for (let element of str) {
  console.log(element);
}
// 输出 h, e, l, l, o
注意事项
  • for...of 循环只能遍历可迭代对象中的元素,无法获取索引(如需要获取索引请使用 for...in 循环)。
  • 可迭代对象必须实现 Symbol.iterator 方法,该方法返回一个迭代器对象,用于迭代元素。
  • 如果不确定一个对象是否可迭代,可以通过检查其属性 Symbol.iterator 是否存在来进行判断。
const obj = { a: 1, b: 2 };
console.log('Symbol.iterator' in obj); // 输出 false
兼容性

for...of 循环在 ES6 中引入,因此兼容性不佳。建议在使用前检查浏览器支持度,或使用编译工具进行转换。