16

gjslintを使用しているときに、「二重引用符で囲まれた文字列よりも一重引用符で囲まれた文字列が優先される」というヒントが得られました。

なぜ?私はこれと少し混乱しています。なぜ一重引用符が好まれるのですか?

助けを得たいと思っています。皆さんありがとう。

4

4 に答える 4

22

あくまでも誰かの意見です。

多くの人は一重引用符を好みますが、他の多くの人は二重引用符を好みます。私は他の言語の習慣から二重引用符を使用する傾向がありますが、強い好みはありません: 一重引用符の方が優れているという説得力のある理由を聞いた場合は、喜んで変更しますが、これまでのところ私は'説得力のある理由は言うまでもなく、正当な理由さえ聞いたことがありません。

Google JavaScript スタイル ガイドでさえ、正当な理由を示すことなく単一引用符が推奨されると述べています。

"一貫性を保つため、二重引用符 (") よりも一重引用符 (') を使用することをお勧めします。これは、HTML を含む文字列を作成するときに役立ちます。」

(次に、HTML を含まない文字列の非常に短い例を示します。)

多くの人は、XHTML は二重引用符でのみ有効であると信じているようですが、そうではありません。XHTML 仕様ではどちらも許可されています。(そうは言っても、XHTML を含め、私が遭遇した XML の 98% は二重引用符を使用しています。)

1 つのソース ファイル内で、どちらか一方に固執しようとしますが、途中のコード行に多くの埋め込み引用符が必要な場合は、その行で多くのエスケープを回避するために、その行だけを変更します。

更新: JSON は二重引用符でのみ有効であることを思い出しました。明らかに JSON は JavaScript ではありませんが、(a) オブジェクト リテラルが JSON のように見えるように JavaScript で二重引用符を好む人もいれば、(b) なしで JSON を手動でエンコードできるように単一引用符を好む人もいる理由はここにあります。二重引用符をエスケープする必要があります。(いいえ、JSON を手動でエンコードすることはお勧めしませんが、それが行われているのを見てきました。)

于 2011-10-01T05:28:15.957 に答える
16

一重引用符を使用する場合は、HTMLの二重引用符をエスケープする必要はありません。

例えば...

一重引用符でこれを行うことができます

var a = '<a href="something.html" rel="yes" title="whatever">a link/a>';

二重引用符を使用すると、二重引用符の内側にあるものをエスケープする必要があります。

var a = "<a href=\"something.html\" rel=\"yes\" title=\"whatever\">a link/a>";

より多くの作業、保守がより困難、そしてエラーのコミットがより簡単になります。

于 2011-10-01T04:42:58.973 に答える
2

私のキーボードには「/」キーがあるので、一重引用符を簡単に入力できますが、二重引用符を入力するにはシフトを押す必要があります。:)

JSLint の警告に関しては、他のスペーシングやインデントの問題と同様に、より一貫したコーディング スタイルを促進するために任意の標準を適用しようとしています。

于 2011-10-01T05:37:07.320 に答える
1

パフォーマンスに関しては、http://jsperf.comによると、一部のブラウザーでは両方でほぼ同じパフォーマンスが得られ、他のブラウザーでは同じパフォーマンスが得られます。

jsperfには多くのテストがあり、それらすべてでほぼ同じ結果が得られます。

結論として、一重引用符または二重引用符を使用することは、好みの問題であり、パフォーマンスの問題ではないと思います。

よろしく。

于 2012-11-19T23:01:34.860 に答える