美文网首页
ES6 对象新增API

ES6 对象新增API

作者: 熬得萨菲 | 来源:发表于2020-02-06 19:29 被阅读0次

    Object(是函数)的新增 API: 下面的方法都是 Object 函数上面的方法

    1. Object.is

    用于判断两个数据是否相等,基本上跟严格相等(三个等号)是一致的,除了一下两点:

    • NaN 和 NaN 相等
    • +0 和-0 不相等
    // 但是是不符合常理的,因为js是安装二进制存储的,他们的符号不一样肯定就不想等
    console.log(NaN === NaN); // false
    console.log(+0 === -0); // true
    
    // es6
    console.log(Object.is(+0, -0)); // false
    console.log(Object.is(NaN, NaN)); // true
    
    1. Object.assign

    2. Object.getOwnPropertyNames 的枚举顺序

    排序顺序如下:

    • 先排数字,并按照升序排序
    const obj = {0: 'a', 5: 'b', 3: 'c'}; 
    Object.getOwnPrototyNames(obj) // ['0', '3', '5']
    
    • 再排其它,按照书写顺序排序
    1. Object.setPrototypeOf --- 可以用在圣杯模式,但是没有必要,因为 es6 有了更牛逼的方法。
    • 该函数用于设置某个对象的隐式原型,也就是修改原型,之前是很难做到的,现在比较简单
    Object.setPrototypeOf(obj1, obj2)
    
    相当于: `obj1.__proto__ = obj2`
    

    相关文章

      网友评论

          本文标题:ES6 对象新增API

          本文链接:https://www.haomeiwen.com/subject/saiuxhtx.html