开发者

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');
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜