Как я могу проверить пустую/неопределенную/нулевую строку в JavaScript?

Для проверки того, имеет vanillajs ли переменная значение falsey или nullvalue ее атрибут длины равен нулю javascript-execution (что для строки означает, что vanilla-js она пуста), я использую:

function isEmpty(str) {
    return (!str || str.length === 0 );
}

(Обратите внимание, что строки - не единственные переменные с атрибутом length, например, массивы также имеют их.)

Для vanilla-javascript проверки того, является ли nil переменная ложной или строка nullvalue содержит только пробелы или nulls пуста, я использую:

function isBlank(str) {
    return (!str || /^\s*$/.test(str));
}

Если хотите, вы nil можете monkey-patch прототип String следующим ecmascript образом:

String.prototype.isEmpty = function() {
    // This doesn't work the same way as the isEmpty function used 
    // in the first example, it will return true for strings containing only whitespace
    return (this.length === 0 || !this.trim());
};
console.log("example".isEmpty());

Обратите внимание на то, что встроенные типы обезьяньего исправления спорны, так как могут нарушить код, который зависит от существующей структуры встроенных типов по любой причине.

javascript

null

is-empty

2022-11-17T12:21:43+00:00