javascript冒号操作员混淆

Mar*_*mon 5 javascript colon

我自己在学习javascript.有些javascript存在混淆,

price = 14;
name = "Mary";
apples:5; //This line executing without error
"orranges":6; //This line getting error
alert(name);
Run Code Online (Sandbox Code Playgroud)

这两行都可以用于json对象而不会出现任何错误.但是当我在json对象之外使用那些行时,第二行("orranges":6;)会出错.这是为什么 ?为什么不给第一行的错误(苹果:5;),有没有什么办法可以在json对象之外使用它?

Que*_*tin 8

: 它不是运算符,它构成标签语法的一部分.

MDN

label :
statement

label
任何不是保留字的JavaScript标识符.

apples 是一个标识符.

"orranges" 是一个字符串文字.

有什么方法可以在json对象之外使用它吗?

您似乎将JSON与对象文字语法混淆.

:当您不在定义对象的过程中时,不能将a 用作将属性名称与对象中的值分隔开的字符.