让我们考虑以下示例

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中的兼容性表(有关这些速记符号的详细信息,请参见更详细的信息)。

09-17 18:05
查看更多