Estoy usando este código para verificar una variable en javascript utilizable:
var userName; if (userName === null || userName === '' || userName === undefined || userName === {}) { console.log("useable"); }else{ console.log("unuseable"); } ¿Hay alguna manera simple y clara de hacer esta acción? Si uso if(userName){} , esto no funcionaría:
var userName=''; if (userName) { console.log("null"); }else{ console.log("not null"); } si uso Object.keys(obj).length === 0 , esto no funcionaría:
var obj=new Date(); if (Object.keys(obj).length === 0) { console.log("null"); }else{ console.log("not null"); }Puede probar un enfoque funcional, incluidas todas sus condiciones y verificaciones en la función:
function isNull (value) { // any falsy value: https://developer.mozilla.org/en-US/docs/Glossary/Falsy if (!value) return true; if (typeof value === 'object') { // empty array if (Array.isArray(value) && value.length === 0) return true; // empty object if (value.toString() === '[object Object]' && JSON.stringify(value) === '{}') return true; } return false; } let username; if (isNull(username)) { console.log('usable'); } else { console.log('not usable'); }