Checking Something IsEmpty In Javascript?


Answer :

If you're testing for an empty string:

if(myVar === ''){ // do stuff }; 

If you're checking for a variable that has been declared, but not defined:

if(myVar === null){ // do stuff }; 

If you're checking for a variable that may not be defined:

if(myVar === undefined){ // do stuff }; 

If you're checking both i.e, either variable is null or undefined:

if(myVar == null){ // do stuff }; 

This is a bigger question than you think. Variables can empty in a lot of ways. Kinda depends on what you need to know.

// quick and dirty will be true for '', null, undefined, 0, NaN and false. if (!x)   // test for null OR undefined if (x == null)    // test for undefined OR null  if (x == undefined)   // test for undefined if (x === undefined)  // or safer test for undefined since the variable undefined can be set causing tests against it to fail. if (typeof x == 'undefined')   // test for empty string if (x === '')   // if you know its an array if (x.length == 0)   // or if (!x.length)  // BONUS test for empty object var empty = true, fld; for (fld in x) {   empty = false;   break; } 

This should cover all cases:

function empty( val ) {      // test results     //---------------     // []        true, empty array     // {}        true, empty object     // null      true     // undefined true     // ""        true, empty string     // ''        true, empty string     // 0         false, number     // true      false, boolean     // false     false, boolean     // Date      false     // function  false          if (val === undefined)         return true;      if (typeof (val) == 'function' || typeof (val) == 'number' || typeof (val) == 'boolean' || Object.prototype.toString.call(val) === '[object Date]')         return false;      if (val == null || val.length === 0)        // null or 0 length array         return true;      if (typeof (val) == "object") {         // empty object          var r = true;          for (var f in val)             r = false;          return r;     }      return false; } 

Comments

Popular posts from this blog

Are Regular VACUUM ANALYZE Still Recommended Under 9.1?

Can Feynman Diagrams Be Used To Represent Any Perturbation Theory?