Eu vim para escrever minha própria função para isso. JavaScript é estranho.
É utilizável em literalmente qualquer coisa. (Observe que isso também verifica se a variável contém algum valor utilizável . Mas, como essas informações geralmente também são necessárias, acho que vale a pena postar). Por favor, considere deixar uma nota.
function empty(v) {
let type = typeof v;
if (type === 'undefined') {
return true;
}
if (type === 'boolean') {
return !v;
}
if (v === null) {
return true;
}
if (v === undefined) {
return true;
}
if (v instanceof Array) {
if (v.length < 1) {
return true;
}
} else if (type === 'string') {
if (v.length < 1) {
return true;
}
if (v === '0') {
return true;
}
} else if (type === 'object') {
if (Object.keys(v).length < 1) {
return true;
}
} else if (type === 'number') {
if (v === 0) {
return true;
}
}
return false;
}
Compatível com TypeScript.
Esta função deve fazer exatamente a mesma coisa que a empty()função do PHP (consulteRETURN VALUES )
Considera undefined, null, false, 0, 0.0, "0" {}, []como esvaziar.
"0.0", NaN, " ", trueSão considerados não-vazia.