JavaScript for in 与 for of 的区别

JavaScript for in 与 for of 的区别

💡 原文中文,约2500字,阅读约需6分钟。
📝

内容提要

本文介绍了JavaScript中的for in和for of循环,for in循环用于遍历对象的键名,for of循环用于遍历对象的值,使用for in循环遍历数组时可能会出现问题,可以通过hasOwnProperty方法进行过滤,for of循环不能遍历普通对象的属性,可以通过和Object.keys()搭配使用来遍历普通对象的属性。

🎯

关键要点

  • for in循环用于遍历对象的键名,适用于可遍历对象、数组和字符串的键。

  • for of循环用于遍历对象的值,适用于可遍历对象、数组和字符串的值。

  • 使用for in循环遍历数组时可能会出现问题,如索引为字符串型数字和遍历顺序不确定。

  • for in会遍历数组的所有可枚举属性,包括原型属性,需使用hasOwnProperty方法过滤。

  • 在使用for in循环前,建议检查对象是否为null或undefined。

  • for of循环不能遍历普通对象的属性,推荐使用for in进行遍历。

  • 可以通过Object.keys()与for of结合使用来遍历普通对象的属性。

  • for in遍历的是数组的索引,而for of遍历的是数组的元素值。

➡️

继续阅读