2011-10-01 22 views
16

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

なぜですか?私はこれと少し混乱しています。シングルクォートが好ましい理由

助けを得ることを望みます。皆さんありがとう。

+0

[JSLint](http://www.jslint.com/)は、一重引用符文字列よりも二重引用符文字列を優先します。 –

答えて

20

これはちょうど誰かの意見です。

多くの人が一重引用符を好むが、他の多くの人が二重引用符を好む。私は他の言語の習慣から二重引用符を使用する傾向がありますが、私は強い好みはありません。私は、一重引用符がより良い理由を聞いたら変更しても構わないと思いますが、 いいえ理由を聞いたことがない、魅力的ではありません理由。

でもGoogle JavaScript Style Guideは、単一引用符は、正当な理由を与えることなく好ましいことを言う:

「()一貫性の単一引用符の場合は、( ')、二重引用符に好ましいです」。 「

をHTMLを含める文字列を作成するときにこれは便利です(これは、その後も、HTMLが含まれていない文字列の非常に短い例を与えることになります。)

多くの人がいるように見えますXHTML仕様ではXHTMLを含むXMLの98%がで、は二重引用符で囲まれています。このように、XHTMLは二重引用符でのみ有効です。

いずれかのソースファイル内で、私はどちらか一方に固執しようとしますが、途中のコード行に多くのemb edded quotes私は、その行でエスケープするのを避けるために、その行だけを変更して嬉しいです。

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

+2

正規表現でXHTMLを解析することに決めたジョーカーに出くわすまで、それはすべて問題ありません。 –

+1

@Donal - Ha!まあ、そのような人は、私が使用するために選択した引用符のタイプよりも多くの問題があります。 – nnnnnn

+0

そのような人々のための有名なSOの答えがあります... –

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>';

を行うことができ、単一引用符でたとえば

...

多くの作業、メンテナンスが難しく、エラーをコミットするのが簡単です。

+21

HTML属性には一重引用符を使用できます。 – BoltClock

+1

True @BoltClock。私はHTMLで開発者のほとんどの人々は引用符を使用すると思うが。 –

+2

これは逆に、JavaScriptの文字列がHTMLの属性内にあるとき(私が使用するテンプレートエンジンでよく発生する) – hugomg

1

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

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

1

http://jsperf.comのパフォーマンスの面では、両方のブラウザで同じパフォーマンスが得られますが、他のブラウザでは同じパフォーマンスが得られます。

あり多くのテストがjsperf中だとそれらのすべてが、ほぼ同じ結果を得る:私は考えて結論

を一重引用符または二重引用符を使用することは、パフォーマンスの問題ではありません。

よろしくお願いいたします。

関連する問題