解构为何有用?
在 ES5
及更早版本中,从对象或数组中获取信息、并将特定数据存入本地变量,需要书写许多并且相似的代码。例如:
let options = {
repeat: true,
save: false
};
// extract data from the object
let repeat = options.repeat,
save = options.save;
此代码提取了 options
对象的 repeat
与 save
值,并将其存在同名的本地变量上。虽然这段代码看起来简单,但想象一下若有大量变量需要处理,你就必须逐个为其赋值;并且若有一个嵌套的数据结构需要遍历以寻找信息,你可能会为了一点数据而挖掘整个结构。
这就是 ES6
为何要给对象与数组添加解构。当把数据结构分解为更小的部分时,从中提取你要的数据会变得容易许多。很多语言都能用精简的语法来实现解构,让它更易使用。ES6
的解构实际使用的语法其实你早已熟悉,那就是对象与数组的字面量语法。