对象文字中单独的对象标识符

时间:2018-02-06 04:40:37

标签: javascript

使用裸变量标识符(与键/值对相对)定义的对象文字生成一个对象,该对象具有一个属性,其键是标识符,其值是变量的值。 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。

1 个答案:

答案 0 :(得分:3)

您正在查看ES5的EcmaScript规范。你需要查看一个更新的规范,因为ES5并不支持它。

在最新的规范中,您可以在IdentifierReference下看到PropertyDefinitionhttps://www.ecma-international.org/ecma-262/8.0/index.html#sec-object-initializer