Why does isNil method in Lodash use null instead of undefined?
function isNil(value) {
return value == null;
}
Why does isNil method in Lodash use null instead of undefined?
function isNil(value) {
return value == null;
}
It makes no difference either way in terms of the logic using null or undefined as null == undefined == true, but using null instead of undefined would make the file size smaller by 5 bytes.
It's simply done to save a few bytes making the file smaller and faster to download from the server.
To understand this a bit better, it's important to note that lodash is using == here instead of ===.
Take the following example:
console.log(null == undefined); // true
console.log(null === undefined); // false
By using == (double equals), lodash is utilizing type coercion where null and undefined will be coerced to falsy values. As a result, null == undefined is true.
However, if using === (triple equals), no coercion is enforced, which means the types must be identical, and as we know null is not identical to undefined. As a result, null === undefined is false.