这是第 2 章名称的摘录:
A name cannot be one of these reserved words:
...
delete
...
然后在该部分的后面:
Names are used for ... property names...
如果这是真的,那么为什么它在我的浏览器控制台中有效:
> a = {};
> a.delete = 1;
> a.delete + 2 === 3
true
我的浏览器使用“版本 36.0.1985.143 m”的 Google Chrome,操作系统使用 Windows 8.1 Enterprise。
作者的意思是属性名称不应该是保留字还是我遗漏了什么?
最佳答案
当这本书写成的时候,ECMAScript 3 统治了地球,这是一个真实的陈述。
但是,现代浏览器正在运行 ECMAScript 5,它取消了该要求。
如果你有 IE,请将自己置于 IE6 或 IE7 兼容模式,它会失败。
顺便说一句,即使使用 ECMAScript 3,您仍然可以将其编写为
a["delete"]
关于javascript - "JavaScript: The Good Parts"- 为什么 delete 可以用作属性名称,而书中暗示它不应该,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25343756/