ES6——对象扩展

ES6对对象进行了一系列的扩展,其中包括书写方式及函数;

1、对象简写

2、可计算属性

    let name = 'angela';
    let front = 'lee-';
    let obj = {
        name, // kv 相同,简写
        getName() {
            console.log(name);
        }, // 等同于 getName: function() {}
        [front + name]: name // 可扩展属性;
    }
    obj.getName();

3、关于对象新增的方法;

静态方法: Object.is() (勉强这么说…加强的比较运算符)

    console.log(NaN == NaN) // false
    console.log(NaN === NaN) // false
    console.log(Object.is(NaN,NaN)) // true
    console.log(Object.is(+0,-0)); // false
    console.log(+0 === -0); //true
    console.log(Object.is([],0)); // false
    console.log([] == 0); // true

Object.assign(obj1,obj2,obj3,...,objn) mix-in 将对象混合,将obj2-objn克隆到obj1中; 

    let obj = {
        name: 'angela'
    }
    let obj1 = {
        age: 18
    }
    let obj2 = {
        age: 16,
        name: 'limin',
        sex: 'female'
    }
    var objM = Object.assign(obj,obj1,obj2);
    console.log(objM); // objM = {name:'limin',age:'16'.sex:'female'}
    obj.name = 'this has been changed';
    obj2.age = 22; // 深度克隆
    console.log(objM); // name 改变了
    console.log(objM === obj); // true 返回obj,并没有生成新对象,而是对obj进行操作
    var obj = {
        name: 'angela',
        age: 18,
        sex: 'female'
    }
    var obj1 = {
        name: 'angela'
    }
    console.log(Object.keys(obj));  //拿出对象的key值,数组形式 ['name','age','sex']
    console.log(Object.values(obj)); // 拿出对象的value值,数组形式 ['angela',18,'female']
    console.log(Object.entries(obj)) // 拿出对象的key-value值,数组形式[['name','angela'],['age',18],['sex','female']];
    Object.setPrototypeOf(obj,obj1) // 将obj的原型设置为obj1
    console.log(Object.getPrototypeOf(obj));  // 获取obj1的原型;obj1 = {}
    console.log(obj1.isPrototypeOf(obj)); //true

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值