JavaやPythonなどの他言語では、条件分岐の等価演算子として==をよく使います。
しかし、Reactでは===をよく見かけます。違いは何なのでしょうか?
==
値だけ比較する(型が違っても比較する)
'1' == 1 // true:型が違っても値が同じとみなされる
false == 0 // true:型変換で一致する
null == undefined // true(特例)
===
型も値も比較する(型が違えば false)
'1' === 1 // false:型が違うので一致しない
false === 0 // false:型が違う
null === undefined // false
結論
==:値のみの比較(抽象的等価)
===:型も値も比較(厳密等価)
== は自動的に型を変換して比較するため、思わぬバグが発生しやすいです。
こういった予測できない動作を避けるために、
現代のJavaScriptでは常に ===を使うのがベストプラクティスとなっています。