Murga

個人的に言いたいコト・主張・気持ち。

JavaScript の文字列はシングルクォートを使った方が良さそうだ…

頑なにダブルクォート派でいたけど、そろそろシングルクォートが市民権を得ているしシングルクォートを使うことにしようと思い始めている。

ダブルクォートを使うメリット

  • Java と雰囲気が近いから一目で文字列だと分かりやすい。

ダブルクォートを使うデメリット

  • HTML 属性中に埋め込むときにエスケープが必要になる。エスケープを避けるために HTML 属性の方をシングルクォートにするのも気持ち悪い。
<!-- ダブルクォートはエスケープが必要 -->
<button onclick="alert(\"Hoge\");">Hoge</button>

<!-- HTML 属性をシングルクォートにするのもどうなんだろ… -->
<button onclick='alert("Hoge");' class="btn">Hoge</button>

シングルクォートを使うメリット

  • ダブルクォートよりも見た目スッキリする。
  • HTML 属性中に埋め込みやすい。
<!-- JSは シングルクォートで書くと統一していると HTML 中でも違和感ない -->
<button onclick="alert('Hoge');" class="btn">Hoge</button>

シングルクォートを使うデメリット

  • Java 脳だと char 型な雰囲気がして慣れない。
  • テンプレートリテラルのバッククォートとパッと見での区別が付きづらい。

こうしてみると HTML と絡めた時の親和はシングルクォートの方が高い気がする。