js の変数とデータ型について話す限り、これら 2 つの兄弟は js の重要な基礎であり、これを複数のバッチで学習するために数え切れないほどの学生が観察しているはずです。二人の兄弟はとても人気があります。 ^-^
js は本当に奇妙です。null を持つだけでなく、未定義を作成することもできます。
批判もありますが、これがデザインです。
C# と Java では、null は空でメモリが割り当てられていないことを意味します。
js で null に Number(null) を使用した結果は 0 です。これはどういう意味ですか? これは空ではなく、単なる null 値であり、値がなく、データ型が「オブジェクト」であることを意味します。 。
そこで、空を表現するために、設計者は「未定義」と呼ばれる別のデータ型を持つ未定義を作成しました。
Number(未定義)を使用した結果はNaNとなり、変換結果も設計目的を達成できます。
この設計結果により、式内のデータ型変換が重要な役割を果たします。
未定義の変数、または定義されていても値が割り当てられていない変数は、空、つまり未定義を意味します。
未定義は、JavaScript 自体によってよく使用されます。
たとえば、プログラマーがオブジェクトのプロパティを削除したい場合、そのプロパティがまだ存在していることを確認するために hasOwnProperty を使用するため、そのプロパティを未定義に割り当てる必要はありません。ロジックを判断する必要がある場所で、削除された場合、属性の前に delete が付きます。
var o1={p1:'v1',p2:'v2'}; o1.p2=undefined; o1.hasOwnProperty('p2'); //true
副作用を避けるために配列要素を削除するには、splice を使用します。
コード作成者は、値の割り当てに未定義を使用する場合は慎重に検討する必要があります。
プログラマーにとって、null 値を変数に割り当て、オブジェクト インスタンスから切断し、ガベージ コレクションを確保し、後で使用するために変数シンボルを準備できることは、より重要です。
nullと未定義を比較すると、これも混乱します
null == undefined //truenull == false //falseundefined == false //false
変ですが、これが結果であり、これがデザインです。
ECMA-262、ルール定義リンク 1、リンク 2 の関連定義を表示できます。
終了
以上がJavaScript の null と unknown についての簡単な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。