🎆
[JavaScript]等価演算子と不等価演算子の使用方法について(備忘録)
1.等価・不等価演算子を用いた曖昧な比較とは
・== もしくは != を用いて、比較を行います。
・データ型は異なっていても、変数・定数に格納された値が同じなら「true」と判断されます。
・曖昧な比較なので、明確な理由がない限り使用は推奨されません。
・比較する前にデータ型の変換が行われます。
2.等価・不等価演算子を用いた厳密な比較とは
・=== もしくは !== を用いて、比較を行います。
・データ型が同じ且つ変数・定数に格納された値が同じ場合、「true」と判断されます。
・バグの要因になりかねない曖昧な比較よりも、厳密な比較が推奨されます
3.サンプルプログラム
〇例1
Sample.js
const num = 1000;
const word = '1000';
// 変数に格納された値が等しいか判別(曖昧な比較)
if(num == word){
console.log('同じ');
} else {
console.log('異なる');
}
// 変数に格納された値とデータ型が等しいか判別(厳密な比較)
if(num === word){
console.log('同じ');
} else {
console.log('異なる');
}
実行結果
同じ
異なる
注:曖昧な比較では、変数wordに格納した文字列が数値に変換されてから比較が行なわれています。
〇例2
Sample.js
const num = 1000;
const word = '1000';
// 変数に格納された値が等しくないか判別(曖昧な比較)
if(num != word){
// 等しくない場合の処理
console.log('異なる');
} else {
// 等しい場合の処理
console.log('同じ');
}
// 変数に格納された値とデータ型が等しくないか判別(厳密な比較)
if(num !== word){
// 等しくない場合の処理
console.log('異なる');
} else {
// 等しい場合の処理
console.log('同じ');
}
実行結果
同じ
異なる
Discussion