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

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

     

  • 相关阅读:
    ASM认证与口令文件
    asm 兼容性、asm 主要参数管理
    最常见的5个导致 RAC 实例崩溃的问题
    oracle隐含参数的查看与修改
    三种 Failover 之 Client-Side Connect time Failover、Client-Side TAF、Service-Side TAF
    Oracle RAC TAF 无缝failover
    oracle rac的特征
    安装ORACLE时在Linux上设置内核参数的含义
    关于GCC的理解——On the understanding of the GCC
    java中的闭包和回调
  • 原文地址:https://www.cnblogs.com/cgdx/p/10750361.html
Copyright © 2011-2022 走看看