for…of 是ES6新增的循环语句,用于遍历「可迭代对象」(包括数组、字符串、Set、Map等),每次循环返回一个值。
来看个例子吧:
const arr = [1, 2, 3]; for(let item of arr) { console.log(item); } // 1 // 2 // 3
在上面示例中,for…of循环遍历了数组arr中的每一个元素,并将其打印到控制台上。
我们也可以使用for…of循环来迭代一个字符串中的字符:
const str = "hello"; for(const char of str) { console.log(char); } // h // e // l // l // o
我们需要注意的是,for…of只能用于迭代「可迭代对象」中的元素,不能用于迭代普通对象。要迭代普通对象的属性,可以使用for…in
最后简单解释一下什么是「可迭代对象」,「可迭代对象」是指一个具有Symbol.iterator属性的对象,该属性指向一个返回迭代器的函数。