当使用对象初始化语法创建对象的时候,需要使用半角冒号 (:) 将属性键与属性值隔开。

 1 var obj = { propertyKey: 'value' }; 

冒号与等号

下面的代码会运行失败,原因是对象初始化语法中不允许使用等号来代替冒号。

 1 var obj = { propertyKey = 'value' }; 

修复方法就是使用冒号,或者是在对象创建之后使用方括号语法来为其设定新的属性。

  1 var obj = { propertyKey: 'value' }; 2 // or alternativelyvar obj = { }; 3 obj['propertyKey'] = 'value'; 

空属性

不能像下面这样创建空属性:

 1 var obj = { propertyKey; }; 2 // SyntaxError: missing : after property id 

假如你需要创建一个无值属性,那么需要将它的值设置为 null 。

 1 var obj = { propertyKey: null }; 

计算得来的属性

如果需要使用表达式来创建属性键,那么需要使用方括号。否则属性名称不会进行计算:

var obj = { 'b'+'ar': 'foo' };
// SyntaxError: missing : after property id

把计算表达式放置到方括号([])中:

 1 var obj = { ['b'+'ar']: 'foo' }; 

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐