彻底搞清扩展运算符...和解构赋值

1、对象的扩展

对象的扩展运算符(…)用于取出参数对象中的所有可遍历属性,拷贝到当前对象中。
基本应用

var json = { a:1, b:2, c:3 };
var json2 = { ...json, d:999 };
console.log(json2);    //{ a:1, b:2, c:3, d:999 };

合并对象

var name = { "name": "lisa" };
var age = { "age": 15 };
var person = { ...name, ...age  };
console.log(person);     //{ "name": "lisa", "age": 15 }

2、数组的扩展

数组的扩展运算符就是我们知道的三个点(…),它就好像是剩余参数的逆运算,讲一个数组转为用逗号分隔的参数系列。
解构赋值

console.log(...[1,2,3]);   //1 2 3
console.log([1,...[2,3,4],5]);   //[1,2,3,4,5];

合并数组

console.log([...[1, 2],...[3, 4]]); // [1, 2, 3, 4]

3、函数的扩展

基本用法

function add(x,y,z){
    return x+y+z
}
var numbers = [1,2,3,4];
add(...numbers);    //6

解构赋值

解构赋值语法是一种js表达式,通过解构赋值,可以将属性值从对象或者数组中取出,赋给对应的其它变量。
解构的源在等号的右边,解构的目标在等号的左边。

数组解构

基本用法

let colors = [ "red", "green", "blue" ];
let [ firstColor, secondColor ] = colors;
console.log(firstColor); // "red"
console.log(secondColor); // "green"

剩余运算符

let [a, ...b] = [1,2,3];
//a=1    b=[2,3];

对象解构

基本用法

let node = {type: "succ", name: "foo"};
let { type,name } = node;
console.log(type);       //"succ"
console.log(name);    //"foo"

剩余运算符

let { a,b,...rest } = { a:10, b:20, c:30, d:40 };
//a = 10;     b = 20;   rest = { c:30, d;40 };
  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值