提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
1.解构赋值定义
ES6允许按照一定的模式,从数组或对象中提取值,给变量进行赋值,称为解构赋值
特点:
1、给变量赋值
2、值的来源是对象或数组
3、规则:按一定的模式
一般用在数据交互,ajax请求数据。
(1)解构赋值:解析数据源 然后按照数据模型进行取值 再赋值给变量
(2)声明变量的高级写法
变量修饰符 数据模型=数据源
(3)解构 按照数据模型取出数据源中的数据 赋值:然后赋值给模型变量
2.案例
例如1:
var [a,b,c]=arr
==> 隐式操作: var a=arr[0]; var b=arr[1]; var c=arr[2]
例如2:
var [name,{age}]=arr;
==> 隐式操作: var name=arr[0]
==> 隐式操作: var age=arr[1].age
例如3:
let [{age,its:[a,{b}]}]=data
==> 隐式操作: let its=data[0].its
==> 隐式操作: let a=its[0]
==> 隐式操作: let b=its[1].b
程序:
let arr=[{age:20},{name1:"karen"}]
let [{age,name1="jack"}]=arr
console.log(age,name1)
运行结果:
(2.1)undefined
在使用默认值的时候,应该注意undefined,因为undefined是不能赋值的
在解构赋值中,undefined是一个很值得注意的地方。
如果有值没有解构赋值成功,那么该变量会被设为undefined。只有变量匹配结果为undefined的时候,才会使用默认值。
即使变量匹配到null也不会使用默认值,唯有undefined!!
解析对象的解构,然后取出值的过程。es6中对变量的赋值遵循一个规则,只要左右两边的模式相同,就可以进行合法赋值。
案例: