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