Ответ 1
Это называется деструктуризацией. Вы можете найти больше информации в MDN: Разрушение назначения.
Обсуждение стандартов ECMAScript можно найти на их вики-странице, также интересно это сообщение в блоге на dailyjs.
Если я хочу вызвать такую функцию:
moo({ a: 4 });
Обычно мне нужно сформулировать определение функции следующим образом:
function moo(myArgObj) {
print(myArgObj.a);
}
Но этот удивительный синтаксис полностью допустим в spidermonkey для определения функций:
function moo({ a, b, c }) { // valid syntax!
print(a); // prints 4
}
Что это за функция?
Это называется деструктуризацией. Вы можете найти больше информации в MDN: Разрушение назначения.
Обсуждение стандартов ECMAScript можно найти на их вики-странице, также интересно это сообщение в блоге на dailyjs.