哈希键中的 JavaScript 关键字

标签 javascript object

V8基于-的JS引擎,你可以在属性键中使用不带引号的关键字,比如({ delete: 1 }),而在Rhino或其他JS引擎中,它会抛出错误,这怎么可能?正确的行为应该是什么?

spaceman@spaceman-laptop:~$ rhino
Rhino 1.7 release 2 2010 01 20
js> ({ delete: 1 })        
js: "<stdin>", line 2: invalid property id
js: ({ delete: 1 })
js: .........^
js> 
spaceman@spaceman-laptop:~$ node
> ({ delete: 1})
{ delete: 1 }

最佳答案

ECMAScript 5 specification允许属性名称是保留字。一些引擎可能已经采用了这个新的“特性”,而另一些引擎可能仍然需要在属性名称恰好是保留字时引用它们。

关于哈希键中的 JavaScript 关键字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4298594/

相关文章:

javascript - event.preventDefault() 不会避免打开链接

javascript - 无法设置未定义的属性 'class'

c++ - 删除带有指针的列表以及必须清除的对象

object - 如何在 TypeScript 中初始化对象的多维数组?

javascript - D3.js 循环对象数组

ios - Swift 3 JSON 从 JSONArray 获取字符串不起作用

javascript - 使用map()两次后创建一个数组

javascript - 如何使用代码检查浏览器中的弹出窗口阻止程序是否打开?

javascript - webpack jquery 插件加载自己的 jquery 实例

object - Angular2循环遍历对象内的数组