1 数组的解构赋值
-
概念:ES6 允许按照一定模式(左右两边结构要相同),从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring)
-
示例代码
var [a, b] = [5, 10]; var [a, b] = [b, a]; console.log(a, b)
2 对象的解构赋值
-
解构不仅可以用于数组,还可以用于对象
let { a. b } = { a: 'a', b: 'B' }
-
对象的解构与数组有一个重要的不同。数组的元素是按次序排列的,变量的取值由它的位置决定;而对象的属性没有次序,变量必须与属性同名,才能取到正确的值
let obj = { name: "张三", age: 20, title: { a: 'A', b: 'B' } } let { name, age, title: { a, b } } = obj
-
注意:采用这种写法时,变量的声明和赋值是一体的。对于
let
和const
来说,变量不能重新声明,所以一旦赋值的变量以前声明过,就会报错let name = "李四"; // 通过冒号(:)对解构的变量进行重命名 let { name: uname, age, title: { a, b } } = obj
3.3 函数参数的解构赋值
-
示例代码
示例代码 function test({ name, age }) { console.log(name, age) } test({ name: "张三", age: 20 })