Dav*_*345 6 javascript arrays object operators key-value
在过去的一个小时里,我尝试在任何地方上网查找,但似乎无法弄清楚何时在JavaScript中使用冒号运算符:vs。=到目前为止,据我所知,似乎在定义对象属性时使用了冒号:。
小智 5
您正确说明的冒号(:) 运算符用于定义对象属性:
var object = {
property:value
}
Run Code Online (Sandbox Code Playgroud)
equals(=) 运算符用于为某物、变量、数组等赋值。
如果您只将对象定义为:
var object = {}
Run Code Online (Sandbox Code Playgroud)
您可以像这样为它分配属性:
object.property = value;
Run Code Online (Sandbox Code Playgroud)
JavaScript语言是Brandon Eich使用该=符号作为赋值运算符构建的。早在1995年,大多数编程语言(如Basic,Turbo Pascal,Delphi,C,C ++等)都使用相同的方法为变量赋值。
:由于道格拉斯·克罗克福德(Douglas Crockford)在定义JSON规范方面的工作,使用冒号在JavaScript中快速创建新对象变得很流行。JSON比XML更易于编写且更紧凑。的JSON.parse()来方法消除了需要建立一个客户端的XML解析器。结果,JSON的编码速度也比XML快。因此,JSON作为服务器和客户端浏览器之间的数据传输格式而变得流行。
如果您查看http://www.json.org,可以看到如何使用{"key1": value1, "key2": value2}对符号快速写入新对象。冒号的使用:只是写长期对象属性的简写形式,它使用等号=作为运算符。
Longhand JavaScript示例:(73个字符)
let myObject = new Object();
myObject.a = 1;
myObject.b = 2;
myObject.c = 3;
Run Code Online (Sandbox Code Playgroud)
速记JSON示例:(42个字符)
let myObject = {
"a": 1,
"b": 2,
"c": 3
};
Run Code Online (Sandbox Code Playgroud)
缩小示例:
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)
Run Code Online (Sandbox Code Playgroud)
您可以在代码中使用等号=或冒号:。没有首选规则,也没有最佳实践。它们可以在同一行代码中一起使用。
let myObject = {a:1, b:2, c:3};
Run Code Online (Sandbox Code Playgroud)
Wikipedia通过其JSON页面添加了有关JSON的更多上下文。