【JavaScript】「==」と「===」の違い

@ハクト 2022-08-08 12:42:46に投稿

if文などで使われる比較演算子「==」「===」の違いは知っていますか。

正しく理解しないまま使用していると思わぬバグを引き起こしてしまうので、サクッと確認していきましょう。

「==」等価演算子

「値」が等価であるか判定(型が違う場合、内部で変換処理を行う)

console.log(1 == 1) //true
console.log(1 == '1') //true
console.log(true == 1) //true
console.log(false == 0) //true
console.log(false == '') //true
console.log(0 == '') //true
console.log(undefined == null) //true
console.log("foo" == new String("foo")); //true

「===」厳密等価演算子

「値」と「型」が等価であるか判定

console.log(1 === 1)   //true
console.log(1 === '1') //false
console.log(true === 1) //false
console.log(false === 0) //false
console.log(false === '') //false
console.log(0 === '') //false
console.log(undefined === null) //false
console.log("foo" === new String("foo")); //false

@ハクト

サービス作り・デザイン好き。70年代生まれのWEBエンジニア。WEBパーツをCSSでカスタマイズしてコピペできるサービスを運営中「Pa-tu」。実装したWEBパーツやツールを利用してWEB情報やライフハックを発信してます。

Twitter