如果我想调用这样的函数:
moo({ a: 4 });
通常我必须像这样表达我的函数定义:
function moo(myArgObj) {
print(myArgObj.a);
}
但是这个很棒的语法在 spidermonkey 中用于定义函数是完全有效的:
function moo({ a, b, c }) { // valid syntax!
print(a); // prints 4
}
这个功能是什么?
如果我想调用这样的函数:
moo({ a: 4 });
通常我必须像这样表达我的函数定义:
function moo(myArgObj) {
print(myArgObj.a);
}
但是这个很棒的语法在 spidermonkey 中用于定义函数是完全有效的:
function moo({ a, b, c }) { // valid syntax!
print(a); // prints 4
}
这个功能是什么?
这称为解构。您可能会在MDN 中找到最多的信息:解构赋值(特别是请参阅从作为函数参数传递的对象中解包字段)。
ECMAScript 标准讨论可以在他们的 wiki 页面上找到,也可能是dailyjs 上的这篇博客文章。