让我们考虑以下示例
a = [1,2]
c = {a, b: "Hello"}
Chrome开发工具中的输出
{
"a": [
1,
2
],
"b": "Hello"
}
保存这样创建的对象会如何进行?
最佳答案
在对象文字中,有两种输入元素的方法。
传统方法是key: value
。在这种情况下,不评估key
,它被当作文字,而评估value
。因此,在您的b: "Hello"
元素中,是否定义b
都无关紧要,它总是创建键"b"
。
EcmaScript 6添加了一种简写形式,即您只需放置一个变量,例如a
元素。这是a: a
的缩写,因此它将变量的名称用作键,然后将其值用作值。在这种情况下,确实需要定义变量。
使用函数创建属性的其他一些快捷方式,请参见Enhanced Object Literals。
至于是否安全,请参见MDN中的兼容性表(有关这些速记符号的详细信息,请参见更详细的信息)。