質問: stripeの公式のサンプルコードを見ると、``のように、idの値にハイフンが使われていました。 JavaScriptではHTMLのidをそのままエレメントのオブジェクトとして使えるので、僕は普段、idは変数名のように`cardElement`などのように書きます。 ハイフンがあるとそのまま使えないので、`document.getElementById('card-element')`しないと使えませんよね? どういう理由があってこうなってるんでしょうか?
回答: これは**命名規則**に関わる話なので、 メリット、デメリットの問題ではありません。 現場によって、要件によって、変わったり、使い分けられたりされます。 `-`で単語などを結ぶ命名規則を、**ケバブケース**などと言います。 質問者さんが書かれたものは、**キャメルケース**と呼ばれています。 他には、`_`で結ぶ、**スネークケース**など、複数ありますので、 `プログラミング 命名規則`と調べてみて、勉強されるとよいかと。 > > HTMLのidをそのままエレメントのオブジェクトとして使えるので > > > yambejpさんの回答通り、 その仕様を使うのは、避けた方がいいでしょう。 どこで定義されているのかがわかりづらくなり、 メンテナンス性が非常に悪くなります。 JavaScript上の処理は、あくまで、JavaScript上での定義、記述が望ましいでしょう。 また、上記の弊害として、 JavaScriptのデフォルトの変数名と被った時などに、要素の取得ができない等、 多くの不都合を生む可能性があります。