引人注目的ECMAScript 6解构用例

时间:2014-10-11 17:52:39

标签: javascript ecmascript-6 ecmascript-harmony destructuring

为什么将解构引入ECMAScript 6?

3 个答案:

答案 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()];
        …
    })
    
  • importing modules,例如

    之类的东西
    var {abs, trunc, round} = require('Math')