hl0*_*37_ 3 javascript ecmascript-5 ecmascript-6
javascript是否允许这样做?
a = {undefined : 1}
console.log(a[undefined])Run Code Online (Sandbox Code Playgroud)
[编辑]我想我有点被python的习惯弄糊涂了,但是我实际上是这样的:
a = {[undefined] : 1}
console.log(a[undefined])Run Code Online (Sandbox Code Playgroud)
undefined将其转换为字符串(就像您通过此synthax传递的任何值一样),最终定义了"undefined"prop
[/编辑]
如果是这样,是否所有浏览器都以相同的方式处理它,并且在标准中明确指定了它?
[编辑]
注意:
该问题与“未定义”变量略有不同,即使基本原因和答案相同,该变量也可以用作具有“未定义”属性名称的对象的键。我在一个上下文中问undefined“似乎是值undefined还是字符串"undefined"?”,而链接的问题清楚地表示"undefined"为道具名称,并询问与关键字的名称冲突。
...而且我认为它可以帮助其他习惯使用Python或其他语言的程序员使用类似json的object / dict / hash synthax
[/编辑]
javascript是否允许这样做?
是。
如果是这样,是否所有浏览器都一样处理
是。
标准中是否有明确规定?
没有。
这只是在字符串上下文中使用时undefined转换为"undefined"的结果:
console.log( ("" + undefined).toUpperCase() )Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
67 次 |
| 最近记录: |