この記事では、未定義と null の違いについて説明します。未定義と null の違いがわからない場合、または未定義と null の違いに興味がある場合は、この記事を見てみましょう。そして本題に入ります
ほとんどのコンピューター言語には、C 言語の NULL、Java 言語の null、Python 言語の None、Ruby 言語の nil など、「なし」を表す値が 1 つだけあります。
少し奇妙なことに、JavaScript 言語には、実際には「なし」を表す 2 つの値があります: unknown と null。何故ですか?
1. 類似性
JavaScriptでは、変数にunknownとnullを代入するのは、正直言ってほとんど違いがありません。
var a = undefined; var a = null;
上記のコードでは、変数にそれぞれ unfine と null を代入していますが、この 2 つの書き方はほぼ同等です。
未定義と null は if ステートメントで自動的に false に変換され、等価演算子 はそれらが等しいことを直接報告します。
if (!undefined) console.log('undefined is false'); // undefined is false if (!null) console.log('null is false'); // null is false undefined == null // true
2. 歴史的な理由
Number(null) // 0 5 + null // 5
データ型は、プリミティブ型 (プリミティブ) と複合型 (コンプレックス) の 2 つのカテゴリに分類されます。Brendan Aich は、「なし」を表す値はオブジェクトではない方がよいと考えています。
第 2 に、JavaScript の初期バージョンには それで、ブレンダン・アイヒは別の未定義のものをデザインしました。3. 初期設計
Number(undefined) // NaN 5 + undefined // NaN
4. 現在の使用法
関数のパラメーター として、関数のパラメーターがオブジェクトではないことを示します。
(2) は、オブジェクト プロトタイプ チェーンのエンドポイントとして機能します。Object.getPrototypeOf(Object.prototype)// null
var i; i // undefined function f(x){console.log(x)} f() // undefined var o = new Object(); o.p // undefined var x = f(); x // undefined
関連する推奨事項:
JavaScript について_02_未定義および null_JavaScript スキルを理解する
以上が未定義と null の違いを詳しく説明するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。