在 python 中,当变量名与保留字(如 in class
、in
、default
等)发生冲突时,PEP8 约定规定应使用尾随下划线 ( class_
, in_
, default_
)。
对于同一案例,最共享的 javascript 约定是什么?
在 python 中,当变量名与保留字(如 in class
、in
、default
等)发生冲突时,PEP8 约定规定应使用尾随下划线 ( class_
, in_
, default_
)。
对于同一案例,最共享的 javascript 约定是什么?
据我所知,没有。基本上你只是避免使用保留字。例如class
,我见过:Class
、cls
、klazz
、clazz
和className
。再举一个例子,在将属性映射到 DOM 元素上的属性时(大量使用 JavaScript),W3C 人员使用className
(for class
)、htmlFor
(for for
)、cssFloat
(for float
) 等。我从未见过有人使用尾随_
. (另一方面,前导很常见——人们将它用于他们希望人们认为是私有的对象的属性。) _
当做一个属性时,从技术上讲,你不必担心它,因为根据规范,属性名称可以是保留字,因为解析器有足够的上下文来知道属性名称不是别的东西。(这并不意味着所有实现都会正确,我不推荐它。)这是因为属性名称只需要是规范所称的IdentifierName,而不是Identifier。(Identifier字面意思是“ IdentifierName但不是ReservedWord ”)。
对于那些不想用属性名称冒险的人,常见的方法是使用引号:
var obj = { "class": "is perfectly fine" };
// Access
console.log(obj["class"]);