checking for null in javascript

Tags: , ,



if (valid === null) {
  return '';
} else if (!valid) {
  return 'is-not-valid';
} else if (valid) {
  return 'is-valid';
} else {
  return '';
}

I have the above if-else-if chain in the code, trying to see if I can write the same logic in one or two lines.

Answer

Since you want to distinguish between three types of values, you have to make at least two checks already. The else case will never be hit since either !valid or valid will be true. That also means you can reduce the last else if to an else:

if (valid === null) {
  return '';
} else if (!valid) {
  return 'is-not-valid';
} else {
  return 'is-valid';
}

But you could condense this logic using the conditional operator:

return valid === null ? '' : (valid ? 'is-valid' : 'is-not-valid');


Source: stackoverflow