forEach、for...in 和 for...of 之间的区别

forEach是一个数组的方法,它接受一个回调函数作为参数,在数组的每个元素上执行该回调函数。回调函数接受三个参数:当前元素的值、当前元素的索引和正在遍历的数组。forEach方法会依次遍历数组中的每个元素,但它不会返回一个新的数组。它通常用于遍历数组并对其进行修改或执行其他操作。

for…in是用于遍历对象的语句,它遍历对象的可枚举属性(包括原型链上的属性)。在每次迭代中,for…in将返回对象属性的名称。它可以用于遍历对象的键,并执行相应的操作。需要注意的是,for…in遍历的是对象的属性,而不是数组的索引。

for…of是ES6引入的一种遍历语句,它用于遍历可迭代对象,包括数组、字符串、Set、Map等。在每次迭代中,for…of将返回当前元素的值,而不是索引或属性名称。这使得它在遍历数组等数据结构时更方便和直观。

总结:

forEach用于遍历数组,执行回调函数。

for…in用于遍历对象的属性,返回属性名称。

for…of用于遍历可迭代对象,返回元素值。

需要注意的是,在遍历对象时,for…in会遍历对象的原型链上的属性,而for…of不能直接用于遍历对象,只能用于遍历可迭代对象。

你可能感兴趣的:(javascript,开发语言,ecmascript)