Где я могу получить информацию о синтаксисе параметров объекта для функций JavaScript?

Если я хочу вызвать такую функцию:

moo({ a: 4 });

Обычно мне нужно сформулировать определение функции следующим образом:

function moo(myArgObj) {
    print(myArgObj.a);
}

Но этот удивительный синтаксис полностью допустим в spidermonkey для определения функций:

function moo({ a, b, c }) { // valid syntax!
    print(a); // prints 4
}

Что это за функция?