javascriptの===と==の違い(一致判定の演算子)
JavaScriptで右辺と左辺が一致しているか確認する一致判定の演算子には、「===」と「==」の2種類があります。
この二つは、「どちらを使っても同じ結果がでるのでは?」と考えられる方もいるかもしれませんが、場合によっては違う結果となる場合があるので注意が必要です。
「===」の方がより厳密な一致判定の演算子
「===」と「==」の違いを一言で説明するなら、「===」の方がより厳密な一致判定を行うことができます。
例えば下記の例で解説すると、定数「number1」と「number2」の値は、両方とも1ですが、「number1」は数値型で「number2」は文字型となっています。
この場合、「===」で比較した場合の結果は「false」となり、「==」で比較した場合は、「ture」となります。
const number1 = 1;
const number2 = "1";
console.log(number1 === number2) //false
console.log(number1 == number2) //true
このように、「===」は、型が一致しているかも比較しているため、「==」に比べてより厳密に判定ができ、実際の開発においても、バグを生じる可能性を減少させることができますので、一致判定の演算子を利用する場合には、「===」を使う方が望ましいとされています。
JavaScriptの一致判定の演算子で「==」を使う場合
上記で解説した通り、JavaScriptで一致判定の演算子を使う場合、原則、厳密な一致判定ができる「===」を使うべきだとご紹介しましたが、
では、「==」は全く使わないかと言えば、実はつかいどころがあります。
X == null //null または undefined の場合にture
X === null //nullの場合のみture
上記のように、値がない場合の判定をする場合、「==」を使うことで「null」 だけでなく「undefined」 の場合にもtureとすることが可能です。
逆に「===」の場合、「undefined」はfalseとなってしまいます。
このように値がないことを判定する際には、「==」を使うこともあります。
私もそうでしたが、独学での学習は非常に効率が悪いですし、稼げるところまで行くのは正直、難しいです。
「本当に稼ぎたい!」「絶対に転職してやる!」っと思っているのであれば、しっかりとした講師から教えてもらうべきです。
プログラミンスクール大手のテックキャンプでは、ただいま無料でのカウンセリングを実施しています。
※いつまで実施しているかはわかりません。
ZOOMでのカウンセリングなので、無理な勧誘がありませんし、専門家が非常に親切になんでも相談に乗ってくれます。
無料で受けることができるので、もし、本気でプログラミンをやっていくなら、一度相談してみてくださいね!