JavaScriptのブールタイプと論理判定

716 ワード

ほとんどのプログラミング言語は論理値としてif、whileなどの論理判定に対してブール型以外の変数をサポートしています.ルールは少し違っていますが、基本的には基本原則としてはほぼ同じです.例えばJavaScriptの中には、if文で否定されている変数は以下の値しかありません.false、0、null、undefined、空の文字列です.しかし、彼らをブール変数に変換すれば、変数です.ルールは以下の通りです
//  5        
var a = [false,0,"",undefined,null];
for(var i=0;i<5;i++){
	for(var j=0;j<5;j++){
		alert(a[i]+"=="+a[j]+":"+(a[i]==a[j]));
	}
}
まとめて言うと、false,0,""(空串)の3つはいつも同じで、どれが前であれ後ろであれ、undefinedとnullはいつも同じです.しかし、前のグループと後のグループはいつも同じです.言語の角度からundefinedとnullはほとんど違いがありません.この2つの定数を導入する必要はありません.意味の観点から、undefinedはこの変数が存在しないことを表しています.nullはこの変数がnull定数の対象を指すことを示しています.しかし、JavaScriptという言葉は変数が存在するかどうかは気にしなくてもいいです.演算には変数が未定義かnullかを区別する必要がありません.