zoukankan      html  css  js  c++  java
  • es6的对象新增的方法

    Object.is

    可以看成是=== 的加强版, 其修正了 === 的 NaN 不等于自身, 以及 +0 等于 -0

    另外说下, == 会自动转型, 但是 Object.is 也是如果类型不一致也是不相等的

    Object.assign

    用于对象的合并, 可以把对象的所有可以枚举属性复制到目标对象(枚举属性包含原型中的属性吗??? )  (=== 只拷贝原对象的自身属性, 不拷贝继承的, 也不拷贝不可枚举的)

    如果原对象和目标对象有相同的属性名, 那么原对象会覆盖掉目标对象中的属性值 (这个可以用来批量修改一个对象中改变的值)

    如果传入一个字符串, 那么会以数组的形式拷贝到其中, (这是一个很好的分解字符串的方式) 

    可以用来处理数组, 但是当做对象来处理的

    拷贝的方式是浅拷贝, 就是对于对象中的对象拷贝的是引用

    对于取值函数, 不会拷贝取值函数, 是求值后再拷贝 (什么是取值函数??)

    用法总结: 

      1. 为对象添加新的属性

      2. 克隆对象(不克隆原型, 可以使用 Object.create 来指定一个原型)

      3. 合并多个对象

      4. 为属性指定默认的值(覆盖的特性)

    Object.getOwnPropertyDescriptors

    得到一个对象所有属性的描述对象(注意不是对象, 而是对象的属性)

    Object.setPrototypeOf

    设置一个对象的原型

    Object.getPrototypeOf

    得到一个对象的原型

    Object.keys

    返回一个数组, 其内容是对象的键名

    (除了 for in ,  似乎没有别的遍历对象的方式了, 要记住引入这个方法的意义)

    Object.values

    返回一个数组, 其内容死对象的所有的值

    Object.entries

    返回一个二维数组, 第一个数组存放的是健名, 第二个是值数组

    Object.fromEntries

    把一个二维数组转化为一个对象

     

  • 相关阅读:
    Java Web的web.xml文件作用及基本配置(转)
    Java Web的传值汇总(含JavaBean)
    路径前面的符号意思(~/,./,../,/)
    MySQL的insert语句的区别
    Linux 安全
    拇指玩」制作的「谷歌安装器」app
    经典角色权限系统设计五张表及拓展应用
    MySQL用户和权限管理
    【基于url权限管理 shiro(一)】--基础
    android图片文件的路径地址与Uri的相互转换
  • 原文地址:https://www.cnblogs.com/cgdx/p/10750361.html
Copyright © 2011-2022 走看看