微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ES6 对象的新增方法

1.Object.is()方法解决"==="中一些恒等中的缺点     console.log(+0 === -0);//true     console.log(Object.is(+0,-0));//false
    console.log(NaN === NaN); //false     console.log(Object.is(NaN,NaN));//true   2.object.assign()方法可以合并指定对象至目标对象内部     传参,合并所有对象,返回给参数1的目标对象     let obj1={name:'dayfly1',age:100};     let obj2={name:'dayfly2',age:200};     let obj3={gender:'男'};  console.log(Object.assign(obj1,obj2,obj3));     第一个对象得到合并后的结果  console.log(obj1);

    (1)如果属性有相同,后面的源对象内容会覆盖之前的属性值     (2)如果直接传入非对象内容,会转换为对象     (3)如果传入的是undefined和null会报错   3. Object.getPrototypeOf() 和 Object.setPrototypeOf()     

    以obj对象为原型     let f=Object.create(obj);     console.log(f.fn());       检测是obj是否f的原型对象     console.log(Object.getPrototypeOf(f)===obj); //true     输出原型对象的fn     console.log(f.fn());
    setPrototypeOf(f,obj2)设置f的原型对象为obj2     Object.setPrototypeOf(f,obj2);     console.log(Object.getPrototypeOf(f)===obj2);//true     console.log(f.fn()); //fn2   4.super关键字,用于原型中方法的继承功能

 

 

 

    Object.setPrototypeOf(f,obj);     console.log(f.fn());
    let h=Object.create(f);     console.log(h);     console.log(h.fn());     

 

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐