为什么将解构引入ECMAScript 6?
答案 0 :(得分:4)
琐碎的例子:
var {forEach} = Array.prototype;
forEach.call(document.querySelector(...
论证解构很有趣:
function ({opt1 = true, opt2 = false, opt3} = {}) { ...
答案 1 :(得分:4)
这是另一个:Map#entries
返回(key, value)
元组上的迭代器。迭代它们的最优雅的方法是使用解构:
for (var [key, value] of map.entries()) {
// ...
}
答案 2 :(得分:2)
不确定我为什么要使用
[x, y] = [y, x]
。
因为使用额外的变量两个交换两个值很麻烦,而JS及其传值值函数调用不允许你编写swap
函数。
ECMAScript 6解构功能的最引人注目的用例?
我能想到的是,这主要用于
多个函数返回值
function rgb2hsv(r, g, b) {
…
return {h, s, v};
}
…
var {h, s, v} = rgb2hsv(…);
Promise.spawn(function* () {
…
var [a, b] = yield [async1(), async2()];
…
})
var {abs, trunc, round} = require('Math')