JavaScriptにおける論理型への変換
それでは、他のデータ型から論理型への変換について学びましょう。
この変換は Boolean 関数を使用して行われます。
論理型に変換した際に false となる値は以下の通りです:
console.log(Boolean(0)); // false
console.log(Boolean(-0)); // false
console.log(Boolean(+0)); // false
console.log(Boolean(null)); // false
console.log(Boolean(false)); // false
console.log(Boolean(NaN)); // false
console.log(Boolean(undefined)); // false
console.log(Boolean('')); // false
JavaScriptでは(他の言語ではそうでないこともありますが)、それ以外の全ての値は true となります。
以下は true に変換されますが、疑問を抱く可能性のある値です:
console.log(Boolean(-1)); // true
console.log(Boolean(Infinity)); // true
console.log(Boolean(-Infinity)); // true
以下の値は引用符で囲まれているため文字列であり、同様に true に変換されます:
console.log(Boolean('0')); // true
console.log(Boolean('false')); // true
console.log(Boolean('NaN')); // true
console.log(Boolean('null')); // true
console.log(Boolean('undefined')); // true
コードを実行せずに、画面に何が表示されるか判断してください:
let test = Boolean(3);
alert(test);
コードを実行せずに、画面に何が表示されるか判断してください:
let test = Boolean(0);
alert(test);
コードを実行せずに、画面に何が表示されるか判断してください:
let test = Boolean(-1);
alert(test);
コードを実行せずに、画面に何が表示されるか判断してください:
let test = Boolean(-0);
alert(test);
コードを実行せずに、画面に何が表示されるか判断してください:
let test = Boolean(+0);
alert(test);
コードを実行せずに、画面に何が表示されるか判断してください:
let test = Boolean('abc');
alert(test);
コードを実行せずに、画面に何が表示されるか判断してください:
let test = Boolean('');
alert(test);
コードを実行せずに、画面に何が表示されるか判断してください:
let test = Boolean('0');
alert(test);
コードを実行せずに、画面に何が表示されるか判断してください:
let test = Boolean(true);
alert(test);
コードを実行せずに、画面に何が表示されるか判断してください:
let test = Boolean(false);
alert(test);
コードを実行せずに、画面に何が表示されるか判断してください:
let test = Boolean('true');
alert(test);
コードを実行せずに、画面に何が表示されるか判断してください:
let test = Boolean('false');
alert(test);
コードを実行せずに、画面に何が表示されるか判断してください:
let test = Boolean(null);
alert(test);
コードを実行せずに、画面に何が表示されるか判断してください:
let test = Boolean('null');
alert(test);
コードを実行せずに、画面に何が表示されるか判断してください:
let test = Boolean(undefined);
alert(test);
コードを実行せずに、画面に何が表示されるか判断してください:
let test = Boolean('undefined');
alert(test);
コードを実行せずに、画面に何が表示されるか判断してください:
let test = Boolean(NaN);
alert(test);
コードを実行せずに、画面に何が表示されるか判断してください:
let test = Boolean('NaN');
alert(test);
コードを実行せずに、画面に何が表示されるか判断してください:
let test = Boolean(3 * 'abc');
alert(test);
コードを実行せずに、画面に何が表示されるか判断してください:
let test = Boolean(Infinity);
alert(test);
コードを実行せずに、画面に何が表示されるか判断してください:
let test = Boolean(1 / 0);
alert(test);