Привет всем! Работаю над проектом и столкнулся с проблемой. Мне нужно проверять переменные на то, что они не пустые, не равны null и не undefined. Написал такую функцию:
function checkValue(data) {
if (data === null || data === undefined || data === '') {
return false;
}
return true;
}
Но вот думаю, может есть какая-то стандартная функция в JavaScript, которая делает такую проверку? Или может мой код не покрывает все возможные случаи? Буду благодарен за любые советы и примеры!
Встроенной функции нет, но можно покороче. Я делаю data == null - покрывает null и undefined сразу. Для строк добавляю .trim() чтобы пробелы не прокатывали: if (data == null || data.toString().trim() === ''). Только с toString() осторожно - если data реально null, словишь ошибку. Твоя функция норм, может еще array.length проверить для массивов.
Optional chaining и nullish coalescing работают хорошо - data?.length ?? 0 для массивов или data ?? ''. Если нужна функция, добавь проверку на NaN через Number.isNaN(data). Для пустых объектов можешь использовать Object.keys(data).length === 0. Твой вариант рабочий, просто расширь под свои нужды.
А как насчет NaN и false? Твоя функция их не поймает. Я просто использую if (!data) - это охватывает почти все пустые значения. Хотя false и 0 тоже считаются пустыми. Всё зависит от того, что ты считаешь “пустым”, мне кажется.