ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScriptにおけるunknown、null、NaNなどの違いの使用例を詳しく解説

JavaScriptにおけるunknown、null、NaNなどの違いの使用例を詳しく解説

伊谢尔伦
伊谢尔伦オリジナル
2017-07-18 13:43:361298ブラウズ

js の unknown、null、NaN の違い

1. 型分析:
js には 5 つのデータ型があります: unknown、boolean、number、string、object など。最初の 4 つはプリミティブ型で、 5 番目は参照型です。

var a1;
var a2 = true;
var a3 = 1;
var a4 = "Hello";
var a5 = new Object();
var a6 = null;
var a7 = NaN;
var a8 = undefined;
alert(typeof a);    //显示"undefined"
alert(typeof a1); //显示"undefined"
alert(typeof a2); //显示"boolean"
alert(typeof a3); //显示"number"
alert(typeof a4); //显示"string"
alert(typeof a5); //显示"object"
alert(typeof a6); //显示"object"
alert(typeof a7); //显示"number"
alert(typeof a8); //显示"undefined"

上記のコードから分かるように、未定義値と未代入値は未定義であり、nullは特別なオブジェクトであり、NaNは特別な数です。

2. 比較演算

var a1;         //a1的值为undefined
var a2 = null;
var a3 = NaN;
alert(a1 == a2); //显示"true"
alert(a1 != a2); //显示"false"
alert(a1 == a3); //显示"false"
alert(a1 != a3); //显示"true"
alert(a2 == a3); //显示"false"
alert(a2 != a3); //显示"true"
alert(a3 == a3); //显示"false"
alert(a3 != a3); //显示"true"

上記のコードから、次の結論を導き出すことができます: (1) 未定義と null は等しい; (2) NaN はどの値とも等しくないし、それ自体とも等しくない。

JavaScriptの未定義属性

定義と使用法
未定義属性は、JavaScriptの未定義の値を格納するために使用されます。

構文
未定義

説明
for/in ループを使用して未定義のプロパティを列挙することはできません。また、delete 演算子を使用して未定義のプロパティを削除することもできません。
未定義は定数ではないため、他の値に設定できます。
存在しないオブジェクトのプロパティを読み取ろうとした場合にも、Unknown が返されます。

ヒントとメモ
ヒント: == 演算子は未定義の値を null と同等と見なすため、値が未定義かどうかをテストするには === 演算子のみを使用できます。
注: null は値がないことを意味し、unknown は未宣言の変数、宣言されているが値が割り当てられていない変数、または存在しないオブジェクト プロパティを意味します。


この例では、2 つの変数のうちの 1 つが未定義であることを検出します:

<script type="text/javascript">
var t1=""
var t2
if (t1===undefined) {document.write("t1 is undefined")}
if (t2===undefined) {document.write("t2 is undefined")}
</script>

出力:
t2 は未定義です

判定未定義:

<span style="font-size: small;">var tmp = undefined; 
if (typeof(tmp) == "undefined"){ 
alert("undefined"); 
}</span>

判定 null:

<span style="font-size: small;">var tmp = null; 
if (!tmp && typeof(tmp)!="undefined" && tmp!=0){ 
alert("null"); 
} </span>

判定 NaN:

<span style="font-size: small;">var tmp = 0/0; 
if(isNaN(tmp)){ 
alert("NaN"); 
}</span>

注: NaN を任意の値 (それ自体を含む) と比較すると、結果は false になるため、値が NaN であるかどうかを判断するために == または === 演算子を使用することはできません。

ヒント: isNaN() 関数は通常、parseFloat() と parseInt() の結果を検出して、それらが有効な数値を表しているかどうかを判断するために使用されます。もちろん、isNaN() 関数を使用して、0 を除数として使用するなどの算術エラーを検出することもできます。

以上がJavaScriptにおけるunknown、null、NaNなどの違いの使用例を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。