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 サイトの他の関連記事を参照してください。