【ES6】对象新特性

本文介绍了ES6中对象属性简写技巧,如name、age简写,Object.is()的比较特性,Object.assign()的合并对象,以及Object.keys(), Object.values(), Object.entries()的用法。通过实例展示了如何利用这些新特性提高代码简洁性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 属性及方法的简洁表示

当key名与value名相同时 可以简写为下面ES6形式。

    let name = "ali";
    let age = 18;
    
    //ES5
    var obj1 = {
        name: name,
        age: age,
        run:function(){
            console.log("快速跑!")
        }
    }

    //ES6
    var obj2 = {
        name,
        age,
        run(){
            console.log("快速跑!")
        }
    }

2. Object.is()

相当于全等,但是有区别

建议使用 ===

    console.log(Object.is(1,2));    //false
    console.log(1===2);             //false
    console.log(Object.is(NaN, NaN));   //true
    console.log(NaN === NaN);       //false
    console.log(Object.is(0, -0));  //false
    console.log(0===-0);            //true

3. Object.assign(obj1,obj2,obj3)

合并对象

所有对象都会合并到obj1,如果是相同的属性,后边的对象的属性值 会对前边的进行覆盖。

4. Object.keys(obj)

将obj的key值返回一个纯数组

    let person = {name:"张三",age:25,address:"深圳",getName:function(){}}

    Object.keys(person) // ["name", "age", "address","getName"]

5. Object.values(obj)

将obj的value值返回一个纯数组

    let person = {name:"张三",age:25,address:"深圳",getName:function(){}}

    console.log(Object.values(person)); // ['张三', 25, '深圳', ƒ]

6. Object.entries(obj)

返回一个二维数组,每一个小数组都是一对[key, value]

    let person = {name:"张三",age:25,address:"深圳",getName:function(){}}

    console.log(Object.entries(person)); 

    //    (4) [Array(2), Array(2), Array(2), Array(2)]
    // 0: (2) ['name', '张三']
    // 1: (2) ['age', 25]
    // 2: (2) ['address', '深圳']
    // 3: (2) ['getName', ƒ]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值