Velvet Star Monitor

Standout celebrity highlights with iconic style.

updates

javascript check for not null

Writer 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.. ??

4

10 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.

4

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.

2

Use !== as != will get you into a world of nontransitive JavaScript truth table weirdness.

1

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.

1

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.

0

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

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy