🎉
JavaScript '=='と'==='の違い
結論
中身だけを比較するか、型も比較するかが違う
違い
==
は等価演算子といい、両者の中身のみを比較し、結果をboolで返す。
1 == 1 // true
'yes' == 'yes' // true
'1' == 1 // true
'' == false // true
1 == true // true
null == undefined // true
===
は厳密等価演算子といい、中身と型の両方を比較し、結果をboolで返す。
1 === 1 // true
'yes' === 'yes' // true
'1' === 1 // false
'' == false // false
1 === true // false
null === undefined // false
使い分け
基本的には値と型を比較した方が安全。
型が不明確な時や存在チェックの場合は ==
を使う方がシンプルに書ける。
if (value == null) {
// if (value === null || value === undefined) と同じ
}
Discussion