使用裸变量标识符(与键/值对相对)定义的对象文字生成一个对象,该对象具有一个属性,其键是标识符,其值是变量的值。 ECMAScript规范中定义了哪种行为?
var variable = 'hi';
var obj = { variable };
console.log(obj.variable);
输出:
hi
http://www.ecma-international.org/ecma-262/5.1/#sec-11.1.5说 PropertyNameAndValueList 必须采用 PropertyName:AssignmentExpression 的形式(注意冒号)或者是getter或setter。
答案 0 :(得分:3)
您正在查看ES5的EcmaScript规范。你需要查看一个更新的规范,因为ES5并不支持它。
在最新的规范中,您可以在IdentifierReference
下看到PropertyDefinition
:https://www.ecma-international.org/ecma-262/8.0/index.html#sec-object-initializer