論理値

javascript

概要

javascriptの論理値について、プログラムを書いて確かめます。

他のプログラム言語ではboolean型として、書くケースが多い論理値です。
真か偽か、trueかfalseか、といった2つのみの値を持つ変数になりますが、javascriptは特有のケースがあります。

変数の判定式を試す

論理値のサンプルを書いてみます。
以下のコードを書いて実行させてみます。

var test = 10;
if (test == 10) {
	console.log("一致する");
} else {
	console.log("一致しない");
}

実行すると「一致する」という結果になります。これは論理値の比較ではなく、変数の値の比較なので一致するという結果になります。

では、一度代入した変数そのものをif分で比較してみます。

var test = 10;
if (test) {
	console.log("一致する");
} else {
	console.log("一致しない");
}

上記の場合は「test」という部分がtrueかfalseかを判定する論理値になっている状態です。
結果は「一致する」という出力になります。

変数の判定式を試す(その2)

上記のように式全体の場合はわかりやすい例と言えます。

では、次のような例を書いて試してみます。

var test2 = null;
if (test2) {
	console.log("TRUE");
} else {
	console.log("FALSE");
}

この場合、test2という変数に対し、nullを代入しています。
その変数そのものをif分で判定すると、falseが返り、コンソールログ上の出力結果は「FALSE」となります。

このように、javascriptでは論理値でFALSEと判定される値があります。

必ずfalseになる値について

以下の値はfalseになります。

undefined
null
0
-0
NaN

配列の場合の判定結果

また、次のように配列を記述した場合

var testarray = [1, 2, 3, 4];

if (testarray) {
	console.log("TRUE");
} else {
	console.log("FALSE");
}

この場合の実行結果は「TRUE」になります。

また、論理値にはtoString()メソッドが使え、このメソッドを使った時はtrueかfalseがそのまま文字列として変数などに格納されます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です