JavaScript Null 和 Undefined ?


Null和Undefined是JavaScript里面的两种数据类型。

Undefined is a variable that has been declared but not assigned a value.

Null as an assignment value. So you can assign the value null to any variable which basically means it’s blank.

So by not declaring a value to a variable, JavaScript automatically assigns the value to undefined. However, when you assign null to a variable, you are declaring that this value is explicitly empty.

Null and Undefined

JavaScript will never automatically assign the value to null. That must be done by you in your code.

Let’s get some more info on these.

Typeof Null and Undefined

Typeof null and undefined

We see here that the type of null is an object but the type of undefined is undefined.

Comparison Using Abstract and Strict Equality

Since these are different data types, if we compare them with strict equality ===, we get false.

Comparison between null and undefined

But if we compare them with abstract equality ==, we get true.

So JavaScript does consider these to be relatively equal since they both represent an empty value.

So if you need to check if a value is either null or undefined, you can check for abstract equality and compare it to either null or undefined. Both will return the same result.

转载自:https://levelup.gitconnected.com/javascript-null-vs-undefined-2acda986f79f