実装中にふと思ったことはありませんか?
いつも調べては忘れを繰り返すので、違いを整理する意味を兼ねてまとめておきます。
シングルクオーテーションやダブルクオーテションとの表記が多いですが、この記事はあえてクオートと記述しています。(普段クオートと呼ぶことが多かっただけで、深い意味はないです)
何が大きく違う?
シングルクオート
・変数が文字として認識される
・シングルクオート内だと、変数や特殊文字は使えない
ダブルクオート
・変数が変数内の値として認識される
・ダブルクオート内であれば、{}で囲めば変数の中身を表示することが可能
・ダブルクオート内であれば特殊文字(例えば、改行を表す\nなど)を適用することができる
速度の違いは?
・シングルクオートの方が、ダブルクオートより僅かに早い
=ダブルクオートが速くなることはない
という記事が多く、シングルの方が結果は早く出るそうです
結局、どう使う?
色々な記事を読んだ結果、
・ただの文字列を扱う場合はシングル
・変数や特殊記号を扱う場合はダブル
という方針で書いていきたいなと思いました。
速度自体はシングルの方が良くなりますし、シングルとダブルの違いが分かれば、ダブルで囲う意図としては変数か特殊記号を展開したい意図があるとも考えられるためです。好みの問題もあるかもしれませんが、その方向で記述していこうかと思っています。
余談ですが、US配列だとシングルクオートであればシフトキーを押さずに入力もできますね 笑
コメント