Как проверить, пустая ли строка
Короткий ответ
У пустой строки длина равна нулю:
const name = '';
console.log(name.length === 0);Результат:
trueТолько пробелы
Строка из пробелов не пустая. Если пробелы не должны считаться, уберите их через trim():
const name = ' ';
console.log(name.length === 0);
console.log(name.trim().length === 0);Результат:
false
trueЗаодно null и undefined
Значения из формы или API может не быть вовсе. Этот случай обрабатывает опциональная цепочка ?.:
const isBlank = (value) => !value?.trim();
console.log(isBlank(''));
console.log(isBlank(' '));
console.log(isBlank(undefined));
console.log(isBlank('Anna'));Результат:
true
true
true
falseЧастая ошибка
Проверка if (!value) считает пустым и число 0. Используйте её, только когда значение точно строка:
const count = 0;
console.log(!count ? 'empty' : 'filled');Результат:
emptyФункции из этого ответа
- String.prototype.trim — Удаляет пробельные символы с начала и конца строки.
- String.prototype.length — Длина строки — сколько в ней символов.