Usualmente usé if(value) para verificar que el valor sea nulo o no. Pero ahora sé false o 0 puede ser falso. Entonces usé if(value == null) pero en este momento, ese nulo no contiene '' like. Quiero verificar que 0 , false (tiene un valor específico) como verdadero, y quiero verificar que '' , undefined , null como falso ¿Cuál sería una buena manera de verificar estos valores simplemente? ¿Hay algo que notar más sobre esto?
¿Tal vez esta pequeña función auxiliar ayude? Juega con él en Stackblitz .
test(); test(42); test(Infinity); test(null); test(0); test({}); test(new Map()); function test(someValue) { if (hasValue(someValue)) { return console.log(`${someValue} is truthy`); } return console.log(`${someValue} is falsy`); } function hasValue(v) { // Objects are always considered values if (v instanceof Object) { return true; } const falsies2Check = [false, 0, '', null, undefined, Infinity]; return falsies2Check.find(f => f === v || isNaN(v)) === undefined ? true : false; }Simplemente verifique los valores posibles normalmente.
const isFalsy = param => (param === null) || (param === "") || (typeof param === "undefined") isFalsy(null); // true isFalsy(0); // falseQuiero verificar que
0,false(tiene un valor específico) como verdadero.
if(!isFalsy(value))