Нет, это функция, представленная в JavaScript 1.7 и называемая деструктурирующим назначением . JavaScript не является ECMAScript. ECMAScript - это попытка стандартизации некоторых функций JavaScript. Есть только два движка JavaScript: (Spider | Trace | Action) Monkey и Rhino. Любой другой движок - это движок ECMAScript.
Вот несколько примеров:
var {a, b} = {b:2, a:1}; // a === 1, b === 2
var [c, d] = [3, 4]; // c === 3, d === 4
var {x: e} = {x: 5}; // e === 5
function f({a, b: c}, [d, e]) {
// same as: var [{a, b: c}, [d, e]] = arguments
}
В Opera частично реализовано некоторое деструктурирующее задание. Он не поддерживает его для объектов или аргументов функций, но поддерживает ваш простой пример.