JavaScriptにおける値と型の不等価比較
演算子!=の他に、比較時に型を考慮する
演算子!==も存在します。例を使って
それらの違いを見ていきましょう。
演算子!=を使って2つの数値3を
比較するとします。この演算子は値が等しく
「ない」かどうかを比較します。私たちの
値は実際に等しいので、条件は偽になります:
if (3 != 3) {
console.log('+++');
} else {
console.log('---'); // こちらが実行される
}
次に、値の一方を引用符で囲んだとします。
この場合でも、演算子!=はそれらを
等しいとみなします(値が一致しており、
この演算子にとって型は重要ではないため)。
条件は再び偽になります:
if ('3' != 3) {
console.log('+++');
} else {
console.log('---'); // こちらが実行される
}
次に、2つの数値3を演算子!==を
使って比較してみましょう。この演算子も
それらを等しいとみなします:
if (3 !== 3) {
console.log('+++');
} else {
console.log('---'); // こちらが実行される
}
しかし、今度は3の一方を引用符で囲むと、
演算子!==は2つの3を等しくないと
みなします。なぜなら、値は一致していますが、
型が異なるからです:
if ('3' !== 3) {
console.log('+++'); // こちらが実行される
} else {
console.log('---');
}
コードを実行せずに、コンソールに何が 出力されるか判断してください:
let test1 = '3';
let test2 = '3';
if (test1 != test2) {
console.log('+++');
} else {
console.log('---');
}
コードを実行せずに、コンソールに何が 出力されるか判断してください:
let test1 = '3';
let test2 = '3';
if (test1 !== test2) {
console.log('+++');
} else {
console.log('---');
}
コードを実行せずに、コンソールに何が 出力されるか判断してください:
let test1 = 3;
let test2 = '3';
if (test1 != test2) {
console.log('+++');
} else {
console.log('---');
}
コードを実行せずに、コンソールに何が 出力されるか判断してください:
let test1 = 3;
let test2 = '3';
if (test1 !== test2) {
console.log('+++');
} else {
console.log('---');
}
コードを実行せずに、コンソールに何が 出力されるか判断してください:
let test1 = 3;
let test2 = 2;
if (test1 !== test2) {
console.log('+++');
} else {
console.log('---');
}