javascript check for not null
Andrew Mclaughlin
Below is a code snippet, where we retrieve a form value. Before further processing check if the value is not null..
var val = document.FileList.hiddenInfo.value;
alert("val is " + val); // this prints null which is as expected
if (val != null)
{ alert("value is "+val.length); // this returns 4
}
else
{ alert("value* is null");
}Any ideas why it happens so.. ??
410 Answers
this will do the trick for you
if (!!val) { alert("this is not null")
} else { alert("this is null")
} 9 There are 3 ways to check for "not null". My recommendation is to use the Strict Not Version.
1. Strict Not Version
if (val !== null) { ... }The Strict Not Version uses the "Strict Equality Comparison Algorithm" . The !== has faster performance, than the != operator because the Strict Equality Comparison Algorithm doesn't typecast values.
2. Non-strict Not Version
if (val != 'null') { ... }The Non-strict version uses the "Abstract Equality Comparison Algorithm" . The != has slower performance, than the !== operator because the Abstract Equality Comparison Algorithm typecasts values.
3. Double Not Version
if (!!val) { ... }The Double Not Version !! has faster performance, than both the Strict Not Version !== and the Non-Strict Not Version != (). However, it will typecast "Falsey" values like undefined and NaN into False () which may lead to unexpected results, and it has worse readability because null isn't explicitly stated.
It's because val is not null, but contains 'null' as a string.
Try to check with 'null'
if ('null' != val)For an explanation of when and why this works, see the details below.
2Use !== as != will get you into a world of nontransitive JavaScript truth table weirdness.
You should be using the strict not equals comparison operator !== so that if the user inputs "null" then you won't get to the else.
Check
if(value) {
}will evaluate to true if value is not:
null
undefined
NaN
empty string ("")
0
false 1 This should work fine..
if(val!= null) { alert("value is "+val.length); //-- this returns 4 } else { alert("value* is null"); } It is possibly because the value of val is actually the string "null" rather than the value null.
If you want to be able to include 0 as a valid value:
if (!!val || val === 0) { ... } This will work:
if (val) { alert("Not null");
} else { alert("Null");
} 1