Javascript变量名是保留字



我发现自己,由于太不相关的原因,在这里讨论,但涉及到机器生成的代码,需要创建变量的名称是Javascript保留字。

例如,对于对象字面值,如果它们是无效标识符,则通过引用键:

var o = { validIdentifier: 1, "not a valid identifier": 2 };

是否有类似的技术适用于简单的变量引用?

浏览一下规范就会发现,使用作为一种机制,通过滥用Unicode转义来实现这一点:
fu0075nction = 7;

然而,这似乎令人难以置信的可疑,并且显然正在迅速消失(尽管我最近的Chrome似乎仍然支持它)。有更现代的对应词吗?

如果它们是对象键,您可以随意称呼它们(甚至是保留名称),并且不需要引用它们。

var o = { function: 'a' }
console.log(o.function) // a
演示

有更现代的对应词吗?

。保留字不能用作变量名。你可以使用看起来像这些词的名称,但仅此而已。

从规格:

保留字是IdentifierName,不能用作标识符


仅供参考,保留字可以用作属性名,即使不带引号:

var o = { function: 1 };

变量名不能为保留字。

你总是可以做一些不好的事情,比如:

window["function"] = 'foo';
console.log(window.function);
> foo

您仍然不能使用保留引用它,因为它是保留的。

这是机器生成的代码,这意味着生成代码的东西是坏的。

最新更新