解构赋值是一种针对数组或者对象进行模式匹配,然后对其中的变量进行赋值。 简单来说就是解析数据源,然后按照数据模型进行取值 ,再赋值给变量。是一种声明变量的高级写法。
在代码书写上简洁且易读,语义更加清晰明了;也方便了复杂对象中数据字段获取。
解构:按照数据模型取出数据源中的数据
赋值:赋值给模型变量
解构赋值表达式:变量修饰符(关键字) 数据模型(解构的目标)=数据源
//例1-基本用法(数组)
var arr=[1,2,3]
var [a,b,c]=arr
// 相当于隐式操作: var a=arr[0]; var b=arr[1]; var c=arr[2];
console.log(a,b,c);//1 2 3
//例2-基本用法(对象)
var arr={a:20,b:30}
var {a,b,length}=arr
//相当于隐式操作:var a=arr.a;var b=arr.b; var length=arr.length;
//例3-可嵌套(数组、对象都可嵌套)
var arr=[karn,{age:10}]
var [name,{age}]=arr;
//相当于隐式操作: var name=arr[0]; var age=arr[1].age'
//例4-可嵌套
var data=[{age:10,its:[3,{b:4}]}]
let [{age,its:[a,{b}]}]=data
// 相当于隐式操作:let its=data[0].its; let a=its[0]; let b=its[1].b;
//例5-可忽略
let [a, , b]