How to check for both null and undefined in js?
Is it possible to c开发者_JS百科heck for both null and undefined in javascript?
if(_var == null || _var == undefined) {
}
In JavaScript (pre ECMAScript 5), undefined
is not a constant, but a global variable, and therefore it is possible to change its value. Therefore it would be more reliable to use the typeof
operator to check for undefined
:
if (typeof _var === 'undefined') { }
In addition your expression would return a ReferenceError if the variable _var
is not declared. However you would still be able to test it with the typeof
operator as shown above.
Therefore, you may prefer to use the following:
if (typeof _var === 'undefined' || _var === null) { }
yes
However using the == operator it is not necesary. using foo == null will also be true of foo is undefined. Note however that undefined and null or not(!) the same. It is because that == does type coersion that foo == null is also true for foo is undefined.
if (!_var) {
// Code here.
}
This should work since both undefined
and null
are type coerced to false
.
Of course there is the small problem if _var
is actually false
but it works since in most cases you would want to know if _var
is not true
and not an object.
you can also use $defined
function in mootools (and there must be an equivalent in jquery)
var valuea: number;
var valueb: number = null;
function check(x, name) {
if (x == null) {
console.log(name + ' == null');
}
if (x === null) {
console.log(name + ' === null');
}
if (typeof x === 'undefined') {
console.log(name + ' is undefined');
}
}
check(a, 'a');
check(b, 'b');
精彩评论