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
, " "
, true
São considerados não-vazia.