で定義されている
3243 ワード
たぶん、あなたはすべての記事を読む必要はありません、私はちょうどあなたにこれを示すことができます:
Undefinedグローバルオブジェクトのプロパティです.
それは原始的な値です.
これは論理式でfalsyとして扱われます.
まだ割り当てられていない変数の型. 評価された変数が割り当てられた値を持たない場合、メソッドまたは文の戻り値. 値が返されない場合、関数の戻り値. 明示的に変数を定義せずに設定することもできます
NULLは任意のオブジェクト値の意図的な不在です.
それは原始的な値です.
ブール演算にはfalsyとして扱われます.
値NULLはリテラル: nullで書きます.
nullはグローバルオブジェクトのプロパティの識別子ではありません.
nullは識別の欠如を表し、変数がオブジェクトを指していないことを示します.
例えば、多くのAPIにおいて、オブジェクトが予期されることができるが、オブジェクトが関連していない場所で、NULLはしばしば読み出される. nullは空であるか、存在しない値です. NULLを割り当てる必要があります. また、未定義とNULLは2つの異なったタイプです. undefined type自体(未定義) 残念ながら、NULLは型オブジェクトです!(この記事をもっと調べてくださいhttps://2ality.com/2013/10/typeof-null.html ). 割り当てられていない変数はJavaScriptによって初期化されます.
JavaScriptは、開発者によって行われなければならない値をNULLに設定しません.
もう一つの違いは、算術演算を実行しようとするときです NULL結果を整数として 未定義の結果
定義されていないのは通常、変数が宣言されているが定義されていないことを意味します.
NULLは代入値です.
未定義
Undefinedグローバルオブジェクトのプロパティです.
それは原始的な値です.
これは論理式でfalsyとして扱われます.
未定義です。
const a = undefined; //accepted, but can lead to confusion!
NULL
NULLは任意のオブジェクト値の意図的な不在です.
それは原始的な値です.
ブール演算にはfalsyとして扱われます.
値NULLはリテラル: nullで書きます.
nullはグローバルオブジェクトのプロパティの識別子ではありません.
nullは識別の欠如を表し、変数がオブジェクトを指していないことを示します.
例えば、多くのAPIにおいて、オブジェクトが予期されることができるが、オブジェクトが関連していない場所で、NULLはしばしば読み出される.
JavaScriptは、開発者によって行われなければならない値をNULLに設定しません.
ヌルを比較して、' =='と'== '演算子を使って定義しないとどうなりますか?
console.log(null == undefined); // true
console.log(null === undefined); // false
console.log(typeof null); // "object" (not "null" for legacy reasons)
console.log(typeof undefined); // "undefined"
算術演算
もう一つの違いは、算術演算を実行しようとするときです
console.log(3 + null); //3
console.log(3 + undefined); //NaN
結論として
定義されていないのは通常、変数が宣言されているが定義されていないことを意味します.
NULLは代入値です.
Reference
この問題について(で定義されている), 我々は、より多くの情報をここで見つけました https://dev.to/francescoxx/undefined-vs-null-in-javascript-10g2テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol