在哪里可以获取有关JavaScript函数的对象参数语法的信息?

Ver*_*gon 6 javascript syntax destructuring ecmascript-6

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

moo({ a: 4 });
Run Code Online (Sandbox Code Playgroud)

通常,我必须这样表达我的函数定义:

function moo(myArgObj) {
    print(myArgObj.a);
}
Run Code Online (Sandbox Code Playgroud)

但是,这种出色的语法在spidermonkey中对于定义函数完全有效:

function moo({ a, b, c }) { // valid syntax!
    print(a); // prints 4
}
Run Code Online (Sandbox Code Playgroud)

这是什么功能?

Ber*_*rgi 6

这叫做解构。您可能会在MDN:解构赋值中找到最多的信息(特别是请参阅从作为函数参数传递的对象中解包字段)。


ECMAScript 标准讨论可以在他们的 wiki 页面上找到,也可能是Dailyjs 上的这篇博文。