JavaScript の文字列はシングルクォートを使った方が良さそうだ…
頑なにダブルクォート派でいたけど、そろそろシングルクォートが市民権を得ているしシングルクォートを使うことにしようと思い始めている。
ダブルクォートを使うメリット
- Java と雰囲気が近いから一目で文字列だと分かりやすい。
ダブルクォートを使うデメリット
- HTML 属性中に埋め込むときにエスケープが必要になる。エスケープを避けるために HTML 属性の方をシングルクォートにするのも気持ち悪い。
<!-- ダブルクォートはエスケープが必要 -->
<button onclick="alert(\"Hoge\");">Hoge</button>
<!-- HTML 属性をシングルクォートにするのもどうなんだろ… -->
<button onclick='alert("Hoge");' class="btn">Hoge</button>
- キーボード入力する際、JIS 配列でも US 配列でも Shift キーとのコンビネーション押下が必要になる。
シングルクォートを使うメリット
- ダブルクォートよりも見た目スッキリする。
- HTML 属性中に埋め込みやすい。
<!-- JSは シングルクォートで書くと統一していると HTML 中でも違和感ない -->
<button onclick="alert('Hoge');" class="btn">Hoge</button>
- キーボード入力する際、US 配列だと Shift キーを押さずにすぐ入力できる。
シングルクォートを使うデメリット
- Java 脳だと
char
型な雰囲気がして慣れない。 - テンプレートリテラルのバッククォートとパッと見での区別が付きづらい。
…
こうしてみると HTML と絡めた時の親和はシングルクォートの方が高い気がする。