未定義
変数が宣言されているが、初期化されていないことを示します。 TypeOF演算子を使用してデータ型を決定する場合、宣言されていない変数と未知の変数によって返される値は未定義であることに注意してください。
var message; console.log(typeof message); // undefinedconsole.log(typeof age); // undefined
null:空のオブジェクトポインターを表します
typeof演算子を使用して返される値は「オブジェクト」です。未定義の値はヌル値に由来することに注意する必要があるため、ECMA-262は、平等をテストするときに真で返さなければならないことを規定しています。
console.log(null == undefined); // true
未定義とヌルの違い
(1)未定義とは、変数が宣言されていない、または宣言されているが割り当てられていないことを意味します
(2)nullは「値なし」を示す値です
(3)JavaScriptは、未定義の変数のデフォルト値を未定義に設定します
(4)JavaScriptは変数をnullに設定することはありません。 VARで宣言された変数に価値がないことをプログラマーに示すために使用されます。
(5)未定義は有効なJSONではありませんが、ヌルは
(6)未定義のタイプは未定義であり、nullのタイプはオブジェクトです。
PS:それらはすべて基本的なタイプです
それらはすべてfalseです(boolean(未定義)// false、boolean(null)// false)
この方法で変数が未定義であるかどうかを判断できます
typeof変数===「未定義」
この方法で変数がヌルかどうかを判断できます
変数=== null
二重の等しい兆候と比較すると等しくなりますが、3つの等しい符号と比較しても等しくありません。
null == undefined // true null === undefined // false