ES6系列 对象的扩展

258 阅读1分钟

往期内容

​Object 是 JS 中最重要的数据结构之一。ES6 对它进行了优化升级,这篇文章介绍Object本身的改变。

1.属性简洁的写法

ES6 允许在大括号里面,直接写入变量和函数,作为对象的属性和方法。

let apple = 4999;
const fruits = {apple};
console.log(fruits) // {apple: 4999}
​
 //等价于
 const fruits = {apple: apple};
 
 //同样在函数中也是这样的套路
 
 test(page,pageSize){
     return {page,pageSize} 
 }
 test(1,10)
 
 /***______分割线______***/
 
 //除了属性简写,方法也可以简写
const fruits = {
    apple(){
        return 20
    }
};
// 等价于
const fruits = {
    apple: function (){
        return 20
    }
};

2.属性名表达式

const name = 'banana';
const fruits = { apple:4.0, [name]:3.0};
//套路1
fruits.apple = 2;
//套路2
fruits[name] = 2.0;

3.对象解构赋值

详情跳转

4.扩展运算符

对象的扩展运算符(...)用于取出参数对象的所有属性,拷贝到当前对象之中,属于深拷贝 至于深拷贝是什么跳转公众号文章阅读

let fruits = { apple: 3, banana: 4 };
let fruitsMap = { ...fruits };
consloe.log(fruitsMap) // { apple: 3, banana: 4 }

由于数组是特殊的对象,所以对象的扩展运算符也可以用于数组。

let fruits = { ...['apple', 'banana'] };
console.log(fruits)// {0: "apple", 1: "banana",}

字符串也可以扩展运算符,它会自动转成一个类似数组的对象

console.log({...'apple'}) 
//{0: "a", 1: "p", 2: "p", 3: "l", 4: "e"}

下面是我的公众号大家一起写文章呀。