JavaScriptのBooleanとは
booleanは、JavaScriptのプリミティブなデータ型であり、真(true)か偽(false)の2つの値のみを持つことができます。
こららの値はif else, switch, while loop などの条件文を使ってプログラムの流れを制御するのに便利です。
let YES = true;
let NO = false;
以下のコード例は、boolean値でプログラムの流れを制御する方法を、if条件を使って示しています。
var YES = true;
var NO = false;
if(YES) {
alert("trueです");
}
if(NO) {
alert("falseです");
}
比較式は、比較が真か偽かを示すboolean値を返します。
let a = 10, b = 20;
let result = 1 > 2; // false
result = a < b; // true
result = a > b; // false
result = a + 20 > b + 5; // true
Boolean関数
JavaScriptには、他の型をboolean型に変換するBoolean()関数が用意されています。
第1パラメータとして指定された値は、bool値に変換されます。Boolean()は、空でないもの、ゼロでないもの、オブジェクト、配列のいずれに対してもtrueを返します。
let a = 10, b = 20;
let b1 = Boolean('Hello'); // true
let b2 = Boolean('h'); // true
let b3 = Boolean(10); // true
let b4 = Boolean([]); // true
let b5 = Boolean(a + b); // true
第一引数に 0、-0、null、false、NaN、undefined、”(空文字列)、または引数が渡されない場合、Boolean()関数はfalseを返す。
Boolean()関数のnewオペレータは、Booleanオブジェクトを返します。
let bool = new Boolean(true);
alert(bool); // true
どんなbooleanオブジェクトでも、条件文の中で渡されるとtrueと評価されます。
var bool = new Boolean(false);
if(bool){
alert('trueです');
}
Boolean vs boolean
new Boolean()はブーリアンオブジェクトを返しますが、newキーワードがない場合はbooleanを返します。
boolean(小文字)はプリミティブ型であるのに対し、Boolean(大文字)はJavaScriptではオブジェクトである。型を確認するにはtypeof演算子を使用します。
ここらへん少しややこしいですよね。
let b1 = new Boolean(true);
let b2 = true;
typeof b1; // object
typeof b2; // boolean
Booleanメソッド
プリミティブオブジェクト、Booleanオブジェクトには、以下のメソッドがあります。
メソッド | 説明 |
toLocaleString() | ローカルブラウザ環境におけるboolean値の文字列を返す。 |
toString() | Boolean の文字列を返す。 |
valueOf() | Boolean オブジェクトの値を返します。 |
toLocaleString()
let result = (1 > 2); result.toLocaleString(); // "false"
toString()
let result = (1 > 2); result.toString(); // "false"
valueOf()
let result = (1 > 2); result.valueOf(); // false