ES6遍历对象

遍历对象

E S 6 一共有 5 种方法能够遍历对象的属性 。

  1. for … in

    for . . . in 轮回遍历对象本身的和继续的可罗列属性(不含 Symbol 属性)。

  2. Object.keys(obj)

    Object . keys 返回 一个数组,包括对象本身的(不含继续的 )一切可罗列属性(不含 Symbol 属性)

  3. Object . getOwnPropertyNames(obj)

    Object . getOwnPropertyNames 返回 一个数组,包括对象本身的一切属性(不含 Symbol 属性,然则包括不可罗列属性)

  4. Object.getOwnPropertySymbols(obj)

    Object . getOwnPropertySymbols 返回 一个数组,包括对象本身的一切 Symbo l 属性 。
    
  5. Reflect .ownKeys(obj)

    Reflect . ownKeys 返回 一个数组,包括对象本身 的一切属性 , 不论属性名是 Symbol 还 是字符串 , 也不论是不是可罗列 。

以上 5 种方法遍历对象的属性时都恪守一样的属性遍历序次划定规矩 。

  • 起首遍历一切属性名为数值的属性 , 根据数字排序 。
  • 其次遍历一切属性名为字符串的属性,根据天生时候排序。
  • 末了遍历一切属性名为 Symbol 值的属性 , 根据天生时候排序。

总结以下:

属性范例for … inObject.keys(obj)Object . getOwn-Property-Names(obj)Object.getOwn-Property-Symbols(obj)Reflect .ownKeys(obj)
原型链
Symbol
不可罗列
可罗列
一般
    原文作者:下一个
    原文地址: https://segmentfault.com/a/1190000018164065
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞