ES6中的解构(二)

对象解构

let {name:a,age:b} = {age:20,name:'abc'};  //a
let {name,age} = {age:20,name:'abc'};  //name
let {abc:name,age:age} = {age:20,name:'abc'};   //错误  name为变量, abc是对象中匹配的值

对象解构可以设置默认值

let {x=3} ={x:5};
        x;  //5
let {x=3} ={};
        x;  //3
let {x=3} ={x:undefined};
        x;  //3
let {x=3} ={x:null};
        x;  // null
let {x,y=3} ={x:5};
        //x 5 y  3
let {x:y=10} ={x:5};  //x匹配模式   Y变量
        //y 5
let {x:y=10} ={};
        //y 10
let {x:y=10} ={y:5};  //10
let {x} ={y:5};   //undefined

字符串解构

var [a,b,c] = 'hello';  // a = 'h',b = 'e',c = 'l';

函数参数的解构赋值

 function fun([a,b]){
         return a+b;
  };
 fun([2,5]);  //7
  //默认值
 function fun([a=0,b=0]){
            return a+b;
 };
 fun([]);  //0
 function fun([a=0,b=0]){
         return a+b;
 };
 fun([3]);  //3

JSON解构

        let data ={
            name:'abc',
            age:18,
            friends:['x','y','z'],
            obj:{a:'a',b:'b'}
        };
        let {name,age:a=20,friends,obj} = data;
          //a =18   obj.a   friends[1]
 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值