Я прийшов написати свою функцію для цього. JavaScript дивний.
Він використовується практично на будь-якому місці. (Зверніть увагу, що це також перевіряє, чи змінна містить якісь корисні значення . Але оскільки ця інформація зазвичай також потрібна, я думаю, що її варто опублікувати). Просимо залишити записку.
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;
}
Сумісний з TypeScript
Ця функція повинна виконувати точно так само, як і empty()
функцію PHP (дивRETURN VALUES
)
Вважає undefined
, null
, false
, 0
, 0.0
, "0"
{}
, []
як порожні.
"0.0"
, NaN
, " "
, true
Вважаються не порожньо.