es6 解构赋值

132 阅读1分钟

解构并赋值

const obj = {a: 1,b: 2,c: 3}
//这样就可以声明3个变量a,b,c
const {a,b,c} = obj;
//等价于
const a = obj.a;
const b = obj.b;
const c = obj.c;





//函数接受一个对象/数组作为参数,对参数进行解构
function f({a,b,c}){}   //等同于 {a: 1,b: 2,c: 3} 
function f([a,b,c]){}   //等同于f([1,2,3])


//解构前两个值
const {a,b} = obj;
//剩余元素处理
const {a,...others} = obj;

解构赋值并重命名

const offset = {
    s:100,
    t:200
}
const {s:width ,t:height} = offset

利用解构组合对象和数组

const obj1 = {a:1,b:2};
const obj2 = {c:3,d:4};
console.log({...obj1,...obj2})

利用解构拷贝对象和数组

const obj1 = {a:1,b:2};
const cloneobj = {...obj};
console.log(obj1 === cloneobj) false;