zoukankan      html  css  js  c++  java
  • 对象属性的遍历

    ES6中总共有5种对象属性遍历的方法。

    for…in
    for...in循环遍历对象自身的和继承的可枚举属性(不含Symbol属性)。

    Object.keys(obj)
    Object.keys返回一个数组,包括对象自身的(不含继承的)所有可枚举属性(不含Symbol属性)。

    Object.getOwnPropertyNames(obj)
    Object.getWonPropertyNames返回一个数组,包含对象自身的所有属性(不含Symbol属性,但包括不可枚举属性)。

    Object.getOwnPropertySymbols(obj)
    Object.getOwnPropertySymbols返回一个数组,包含对象自身所有的Symbol属性。

    Reflect.ownKeys(obj)
    Reflect.ownKeys返回一个数组,包含对象自身的所有属性,不论属性名是Symbol或字符串,也不管不否可枚举。

    上面的5种对象属性遍历的方法,都遵守相同的属性遍历次序规则。
    - 首先,遍历所有属性名为数值的属性,按照数字排序;
    - 其次,遍历所有属性名为字符串的属性,按照生成时间排序;
    - 最后,遍历所有属性名为Symbol值的属性,按照生成时间排序。

    Reflect.ownKeys({[Symbol()]: 0, b: 0, 10: 0, 2: 0, a: 0});
    // ["2", "10", "b", "a", Symbol()]

    上面代码中,Reflect.ownKeys方法返回一个数组,包含了参数对象的所有属性。这个数组的属性次序是:先是数值属性210,其次是字符串属性ba,最后是Symbol属性。

  • 相关阅读:
    图片转字符图片(三)
    图片转字符图片(二)
    图片转字符图片(一)
    github访问不到,登陆不上
    jdk安装错误1316,jdk-10.0.1
    windows安装mongodb
    T4模板使用-初探
    Sql server 查看表引用、依赖项,删除表及约束 脚本
    安装ORACLE provider for OLE DB
    Windows Server 2012 r2 显示计算机图标
  • 原文地址:https://www.cnblogs.com/pwindy/p/12660870.html
Copyright © 2011-2022 走看看