JavaScriptの演算子

今回はJavaScript演算子の中でCやJavaと比べて特殊な演算子について。


JavaScript演算子は基本的にはJavaと同じものが使えるが、一つだけ大きく違う点がある。それが、===演算子と!==演算子である。
JavaScriptでは==演算子と!=演算子を使用して文字列と数値の比較を行った際、暗黙の変換が行われる。

var num = 20;
var str = "20";
alert(num == str ? "true" : "false");

実行してみる
そこで、厳密な比較が行いたい場合に===演算子と!==演算子を使用する。===演算子と!==演算子では暗黙の変換が行われない。

var num = 20;
var str = "20";
alert(num === str ? "true" : "false");

実行してみる


JavaScriptでは演算子によって文字列の大小比較ができる。<、>、<=、>=演算子を文字列に対して使用すると辞書順で比較してくれる。

var str1 = "abc";
var str2 = "hoge";
alert(str1 < str2 ? "true" : "false");

実行してみる


+演算子はもちろん(?)、-演算子を文字列に使用することができる。+演算子は文字列を結合して新しい文字列を返すので、数値を文字列に変換したい場合以下のように記述できる。

var str = "abc";
alert(str + "def" + 100 + 20);

実行してみる
さらに、文字列に対して-演算子を適用すると、文字列を数値に変換して減算した結果を返すので、文字列を数値に変換したい場合以下のように記述できる。

var num = ("100" - 0) + 100;
alert(num);

実行してみる