2952


  * htmlタグの属性値
  * CSSのプロパティ（urlなど）
  * JavaScript の文字列リテラル

これらで使用する引用符はシングルクォート、ダブルクォートのどちらも使用できますが、メンテナンス性を考慮してスタイルを統一したいです。  
また、

  * htmlタグのイベント属性（onlickなど）に直接JavaScriptを記述する場合
  * JavaScriptで属性値付きのhtmlタグを編集する場合

のように引用符が入れ子になる場合についても書き方を統一したい。

標準的なルール、合理性のある使い分けのガイドラインがあれば教えてください。


CC BY-SA 3.0
2015-01-02T12:27:22.263
2950
2015-01-02T15:10:58.163
2015-01-02T13:02:09.863
3925
3925
question
javascript css html
引用符のガイドライン


知っているスタイルガイドをいくつか見てみましたが、これという理由はなさそうです。ありていですが、結論としては、「
**どっちでもいいけど、どっちかに偏らせろ** 」というところ。シングル／ダブルクォートの違いを考える上での小さな要素は、以下の４つぐらい。

  * 英文が多い場合は シングルクォートをエスケープしないためにダブルクォートがよい
  * JSON データの文字列値は、ダブルクォートで囲わなければならないので、それを囲むのはシングルクォートの方が良い
  * シングルクォート入力は１つのキー押下ですむ（非日本語キーレイアウト）
  * HTML で出力するクォートは、プロジェクトのガイドラインにあわせたい

どっちが良いかよりも、どちらに傾けるかの方が重要でしょう。

以下、いくつかの Javascipt スタイルガイドからの引用をします。

### [Mozilla だと](https://developer.mozilla.org/en-
US/docs/Mozilla/Developer_guide/Coding_Style):

> Double-quoted strings (e.g. "foo") are preferred to single-quoted strings
> (e.g. 'foo') in JavaScript, except to avoid escaping of embedded double
> quotes or when assigning inline event handlers.

「基本はダブルクォート。エスケープが少ないように切り替えて使え」と。

### [Google だと](https://google-
styleguide.googlecode.com/svn/trunk/javascriptguide.xml?showone=Strings#Strings):

> Prefer ' over "
>
> For consistency single-quotes (') are preferred to double-quotes ("). This
> is helpful when creating strings that include HTML:
>
> `var msg = 'This is some HTML';`

「統一性のためにシングルクォートの方を優先する。文字列内にHTMLが含まれるなら便利」と。へぇ、サンプルコードにも HTML が含まれていますね。(HTML
の属性は[ダブルクォート優先](https://google-
styleguide.googlecode.com/svn/trunk/htmlcssguide.xml?showone=HTML_Quotation_Marks#HTML_Quotation_Marks)だからです)

### [jQuery だと](http://contribute.jquery.org/style-guide/js/):

> jQuery uses double quotes.
>
> var double = "I am wrapped in double quotes"; Strings that require inner
> quoting must use double outside and single inside.
>
> `var html = "<div id='my-id'></div>";`

「jQuery ではダブルクォートを使う。文字列内で囲う場合はシングルクォートを使えよ」で、理由はなし。


CC BY-SA 3.0
2015-01-02T13:34:36.987
2952
2015-01-02T13:34:36.987
4978
2950
answer


[Google HTML/CSS Style Guide](https://google-
styleguide.googlecode.com/svn/trunk/htmlcssguide.xml)だと[htmlタグの属性値](https://google-
styleguide.googlecode.com/svn/trunk/htmlcssguide.xml#HTML_Quotation_Marks)はダブルクォート、[CSSのプロパティ](https://google-
styleguide.googlecode.com/svn/trunk/htmlcssguide.xml#CSS_Quotation_Marks)はシングルクォートを推奨しています（ただし、url()の引数に関してはクオーテーションマークは付けない）。  
[Google JavaScript Style Guides](https://google-
styleguide.googlecode.com/svn/trunk/javascriptguide.xml#Strings)だと文字列リテラルはシングルクォートを常に使う事を推奨していますね。


CC BY-SA 3.0
2015-01-02T13:35:05.847
2953
2015-01-02T15:10:58.163
2015-01-02T15:10:58.163
33
33
2950
answer