解构赋值语法是一种JavaScript表达式用来将数组中的值或对象中的属性取出来区分为不同变量
1、对象的解构赋值
var a={x:1,y:2,z:3} let {x,y,z} =a x 1 y 2 z 3
2、数组的解构赋值
var a = [1,2,3,4] var [d,e,f]=a d 1 e 2 f 3
3、交换值
var x=5 var y=3 [x,y]=[y,x] (2) [3, 5] y 5 x 3
4、取值并赋予一个新名称
我们能从响应提取这两个值并且给它们赋予一个我们喜欢的任何名称,比如x和y:
var a={c:1,d:2} var {c:x,d:y}=a a {c: 1, d: 2} x 1 y 2
ps:非var、let、const声明的解构赋值要加()
var x,y; var o={x:3,y:7} ({x,y}=o) {x: 3, y: 7} x 3
等号表达式是典型的赋值形式,函数传参和for循环的变量都是特殊形式的赋值。解构的原理是赋值的两边具有相同的结构,就可以正确取出数组或对象里面的元素或属性值,省略了使用下标逐个赋值的麻烦
- 在等号赋值或for循环中,如果需要从数组或对象中取值,尽量使用解构。
- 在自己定义函数的时候,如果调用者传来的是数组或对象,形参尽量使用解构方式,优先使用对象解构,其次是数组解构。代码可读性会很好