【javascript】等値演算子と厳密等価演算子の違いについて

javascriptで値を比較したり一致するかの条件をつくるときに等値演算子を使うことがよくあると思います。

そのなかで等値演算子(==)と同値演算子(===)の違いについて紹介していきたいと思います。

見たことあるけど使い方がわからなかったり理解していないという人もいると思います。

等値演算子(==)と厳密等価演算子(===)の違い

サンプル

実際にソースを書いてコンソールでどう違うのか確かめてみましょう。

let num1 = "123";
let num2 = 123;

console.log(num1==num2);
console.log(num1===num2);

結果

結果は下記になります。

true
false

まず一つ目は等値演算子を使い変数num1と変数num2を比較します。

結果はtrueが返ってきます。

次に二つ目は厳密等価演算子を使い変数num1と変数num2を比較します。

結果はfalseが返ってきます。

等価演算子(==)

等価演算子(==)は、文字列が一致しているかどうかを調べます。

123がたとえ数字でも文字として認識されます。

なので文字列としては同じになり結果はtrueを返します。

同値演算子(===)

厳密等価演算子(===)は文字列にだけでなく型も同じかどうか調べます。

さきほどの例だと型が違うのでfalseを返します。

変数「num1」は”123″が入っていて文字(string型)で変数「num2」は123が入っていて数字(number型)なので方が異なります。

コメント

タイトルとURLをコピーしました