与保留字冲突时的Javascript约定

时间:2013-07-11 13:08:36

标签: javascript coding-style naming-conventions

在python中,当变量名与保留字冲突时(如classindefault等),PEP8约定规定应使用尾随下划线(class_in_default_)。

同一案例中最常见的javascript约定是什么?

1 个答案:

答案 0 :(得分:4)

据我所知,没有一个。基本上你只是避免使用保留字。例如,对于class,我看到过:ClassclsklazzclazzclassName。作为另一个例子,在对DOM元素(从JavaScript中大量使用)的属性进行属性映射时,W3C人员使用classNameclass),htmlFor(适用于for),cssFloat(适用于float)等。我从未见过有人使用尾随_。 (另一方面,前导 _非常常见 - 人们将其用于他们希望人们认为是私有的对象的属性。)

在执行属性时,从技术上讲你不必担心它,因为技术上属性名称可以根据规范保留字,因为解析器有足够的上下文来知道属性名字不是别的。 (这并不意味着所有实现都会正确,我不推荐它。)这是因为属性名称只需要规范称为 IdentifierName ,而不是标识符。 (标识符实际上是"IdentifierName but not ReservedWord")。

对于那些不想使用属性名称冒险的人,常用的方法是使用引号:

var obj = { "class": "is perfectly fine" };

// Access
console.log(obj["class"]);