如果我想调用这样的函数:

moo({ a: 4 });

通常,我必须这样表达我的函数定义:
function moo(myArgObj) {
    print(myArgObj.a);
}

但是,这种出色的语法在spidermonkey中对于定义函数完全有效:
function moo({ a, b, c }) { // valid syntax!
    print(a); // prints 4
}

这是什么功能?

最佳答案

它称为destructuring。您可能会在MDN: Destructuring assignment(尤其是Unpacking fields from objects passed as function parameter)上找到最多的信息。

ECMAScript标准讨论可以在their wiki page上找到,也可以在dailyjs上找到this blog post

07-24 09:45
查看更多