出典: http://www.2ality.com/2011/12/strict-equality-exemptions.html
JavaScript には、2 つの値が等しいかどうかを判断するための 2 つの演算子があります。
- 厳密な等価演算子 === は、同じ型を持つ等しい値のみを考慮します。
- 「通常の」(または寛大な) 等価演算子 == は、厳密な等価のように比較する前に、異なる型の値を変換しようとします。
JavaScript の初心者へのアドバイスは、== を完全に忘れて、常に === を使用することです。
しかし、== 演算子を使用しない理由は何ですか? セキュリティリスクにつながるか?
しかし、typeof 演算子を使用すると、結果が文字列になることを確認できます。その場合、 == は安全に使用できます。これは、変換の悪ふざけが実行されないことを確認できるためです。
if (typeof x == "function") {
...
}