checks if foo is not defined, i.e. undefined, null, an empty string, array, object or NaN
npm install not-defined
- Type less.
- Better readability (even your boss will understand your code ^:).
- Can save bytes in your builds.
- Easier to autocomplete in editors (for instance easier than
typeof foo === 'undefined'
).
This snippet of code
import notDefined from 'not-defined'
if (notDefined(foo)) {
// do something, usually throw a TypeError
}
is equivalent to the following pseudocode
if (foo is not defined, i.e. is null, undefined, NaN, an empty string, array or object) {
// do something, usually throw a TypeError
}
You can also use a shorter but still semantic form like
import no from 'not-defined'
if (no(foo)) {
// do something, usually throw a TypeError
}
Follows a list of tested examples
no() // true
no(undefined) // true
no(null) // true
no('') // true
no([]) // true
no({}) // true
no(NaN) // true
no(0) // false
no(true) // false
no(false) // false
no('string') // false
no(['foo']) // false
no({ foo: true }) // false
no(42) // false
no(Infinity) // false
no(function () { return 1 }) // false