ES6解构赋值

简介

解构赋值语法是一种 Javascript 表达式。通过解构赋值,可以将属性/值从对象/数组中取出,赋值给其他变量

用法

1.数组的解构

数组的解构赋值时按顺序赋值的

//普通情况
let [a,b,c] = [1,2,3];//a=1,b=2,c=3

//允许数组嵌套
let[a,[b,c]]=[1,[2,3]];// a=1,b=2,c=3

//允许空缺值
let[ , ,c] = [1,2,3];//a=1,b=2,c=3

//不完全解构
let[a,c]=[1,2,3]; //a=1,b=2

//扩展运算符+解构赋值
let [head,...tail]=[1,2,3,4];

//默认值
let [a=1] = [];//a=1
let [b=2] = [3]; //b=3

2.对象的解构赋值

对象的解构赋值与数组的解构赋值类似,但不同的是对象的解构赋值是按照属性名赋值的,与数组解构赋值不同,与对象内属性的顺序无关

//普通情况
let {a,b} = {a:1,b:2};//a=1,b=2
let {a,b} = {b:2,a:1};//a=1,b=2;

//如果对象中没有对应的属性
let {a,b} = {a:1};//a=1,b=undefined

//对象的解构赋值支持修改变量名
let {a:value,b} = {a:1,b:2}; //value=1,b=2
 
 //解构赋值要求等号右边是一个对象,如果是undefined或者null,会报错,
 let {a} = null; //  x
 let {b} = undefined; //x

3.字符串的解构赋值

let [a,b,c,d,e] = 'hello';//a='h',b='e',c='l',d='l',e='o'
let {length} = 'hello';//length=5  

4.函数参数解构赋值

//使用对象方式的默认值
function fn({a=1,b=2}){    
}
//使用数组方式的默认值
function fn([a=1,b=2]){
}

用途

1.交换变量

let x = 1;
let y = 2;
[x,y]=[y,x]; //x=2,y=1

2.提取JSON数据

let jsonObj = {
    id :1,
    status:'OK',
    data:[1001,1002]
}
let {id,status,data} = jsonObj;//id=1,status='OK',data==[1001,1002]

3.require模块时

const {Xxx,Yyy}  = require("ZZZ"); 

4.省略号(...)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值