Python では、変数名が予約語 ( 、 、 など) と衝突する場合class
、in
PEP8default
規則では、末尾にアンダースコアを使用する必要があると規定されています ( class_
、in_
、default_
)。
同じケースで最も共有されている JavaScript 規則は何ですか?
Python では、変数名が予約語 ( 、 、 など) と衝突する場合class
、in
PEP8default
規則では、末尾にアンダースコアを使用する必要があると規定されています ( 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"]);