JavaScript-解构赋值
JavaScript-解构赋值
Kahvia解构赋值
解构赋值语法是一种 Javascript 表达式。可以将数组中的值或对象的属性取出,赋值给其他变量。
对于对象和数组的解构,有两种解构模式:绑定模式和赋值模式,它们的语法略有不同。
绑定模式
在绑定模式中,模式以声明关键字(var
、let
或 const
)开始。然后,每个单独的属性必须绑定到一个变量或进一步解构。
1 | const obj = { a: 1, b: { c: 2 } }; |
赋值模式
在赋值模式中,模式不以关键字开头。每个解构属性都被赋值给一个赋值目标——这个赋值目标可以事先用 var
或 let
声明,也可以是另一个对象的属性——一般来说,可以是任何可以出现在赋值表达式左侧的东西。
1 | const numbers = []; |
备注: 当使用对象文字解构赋值而不带声明时,在赋值语句周围必须添加括号
( ... )
。
{ a, b } = { a: 1, b: 2 }
不是有效的独立语法,因为左侧的{a, b}
被视为块而不是对象字面量。但是,({ a, b } = { a: 1, b: 2 })
是有效的,const { a, b } = { a: 1, b: 2 }
也是有效的。如果你的编码风格不包括尾随分号,则
( ... )
表达式前面需要有一个分号,否则它可能用于执行前一行的函数。