for…in…

遍历对象上的所有可迭代的、非symbol属性,包括原型链上的属性,但是内置对象原型链上的属性是不可迭代的。

  1. for (variable in object) {
  2. statement
  3. }

:::info 用于处理遍历对象的循环非常直观好用,更加的功能化。当然使用for循环也能实现一样的功能,但是不优雅。 :::

如果不是为了兼容性,尽量不要再使用for…in…循环结构,因为它会遍历原型链上的可迭代属性。 替代使用Object.keys( )、Object.values( )、Object.entries( )、Objcet.getOwnPropertyNames、Object.getOwnPropertySymbols枚举对象的keys和values