LoginSignup
2
2

More than 3 years have passed since last update.

JavaScriptの==と===の違い

Posted at

JavaScriptには ===== という演算子がありますが、これらは挙動が違います。

== は等価演算子といい、左右の型が異なる場合、暗黙的に型変換を行います。

1 == '1' // true (文字列の '1' が数値の 1 に変換されるため)

=== は厳密等価演算子といい、左右の型が異なる場合でも暗黙的に型変換を行いません。

1 === '1' // false

暗黙的な型変換はバグを生みやすいので、JavaScript において == を利用することは推奨しません。おとなしく === を利用しましょう。

== が使える場合

== が使われるケースとして、nullundefined のチェックがあります。

if (val === null || val === undefined) {
  // 何か処理
}

この場合、

if (val == null) {
  // 何か処理
}

と書くことによって暗黙的な型変換により、undefined のチェックも同時に行ってくれます。

しかし、個人的には明示的に比較したほうがわかりやすいと思うので、(紹介しておいてアレですが)前者の比較のほうが好みです。

ちなみに、少ないサンプルですが以前アンケートをとったときもこのように val === null || val === undefined での比較をする人の方が多かったです。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2