何时使用":"(冒号)运算符在javascript vs" ="运营商?

时间:2017-05-21 01:05:54

标签: javascript arrays object operators key-value

我尝试过去一小时在网上搜索,但我似乎无法确定何时在javascript中使用冒号运算符: vs =运算符?从我到目前为止可以看出,似乎在定义对象属性时使用冒号:

3 个答案:

答案 0 :(得分:4)

JavaScript语言由Brandon Eich使用=符号作为赋值运算符构建。早在1995年,大多数编程语言,如BasicTurbo PascalDelphiCC++等......使用了相同的赋值方法变量。

使用冒号:在JavaScript中快速创建新对象变得很受欢迎,因为Douglas Crockford正在定义JSON规范。 JSON更容易编写&比XML更紧凑。 JSON.parse()方法无需构建客户端XML解析器。因此,JSON的编码速度也比XML快。因此,JSON作为服务器和服务器之间的数据传输格式变得流行。客户端浏览器。

如果查看http://www.json.org,您可以看到如何使用{"key1": value1, "key2": value2}对符号快速写入新对象。使用冒号:只是简写符号,用于编写使用等号=作为运算符的longhand对象属性。

Longhand JavaScript示例:(73个字符)

let myObject = new Object();
myObject.a = 1;
myObject.b = 2;
myObject.c = 3;

速记JSON示例:(42个字符)

let myObject = {
  "a": 1,
  "b": 2,
  "c": 3
};

缩小的例子:

let myObject=new Object();myObject.a=1;myObject.b=2;myObject.c=3; (65 characters)
let myObject={'a':1,'b':2,'c':3}; (33 characters with quotes, 27 characters without)

您可以在代码中使用等于=或冒号:。关于哪一个是首选,没有任何规则,也没有最佳实践。它们可以在同一行代码中一起使用。

let myObject = {a:1, b:2, c:3};

维基百科通过JSON页面添加了更多关于JSON的背景信息。

答案 1 :(得分:3)

正确陈述的冒号(:)运算符用于定义对象属性:

var object = {
  property:value
}

equals(=)运算符用于为某些事物,变量,数组等赋值。

如果您只将对象定义为:

var object = {}

您可以像这样分配属性:

object.property = value;

答案 2 :(得分:1)

定义对象时,可以使用:表示法来定义属性值。

var obj = { test: "value" };

=运算符用于定义变量值。如上例所示,变量obj等于该对象。

请注意,您也可以使用=运算符定义对象属性。

var obj = {};
obj.test = "value";

或者

obj["test"] = "value";