Как проверить, является ли строка пустой или null в Javascript?

Первое, что необходимо знать, это то, что в Javascript существует существенная разница между null и empty.

Если вы объявите переменную и присвоите ей пустое значение "", а затем сравните ее с другой переменной, которой вы присвоили значение null, вы легко заметите, что они отличаются, просто проверив их тип.

const str1 = ""
const str2 = null

console.log(typeof str1) // "string"
console.log(typeof str2) // "object"

console.log(str1 == str2) //false
console.log(str1 === str2) //false

Войдите в полноэкранный режим Выход из полноэкранного режима

Вы можете найти демонстрацию кода в этой статье по этой ссылке

Также полезно помнить, что означает null.

Это литеральное значение в Javascript, которое намеренно представляет собой нулевое значение. Это одно из примитивных значений языка.

Обычно вы используете его в API, где вы ожидаете объект, но по каким-то причинам бизнес-логики этот объект не может быть получен.

Кстати, null и undefined тоже не одно и то же!

typeof null        // object (bug en ECMAScript, debería ser null)
typeof undefined   // undefined
null === undefined // false
null  == undefined // true
Войдите в полноэкранный режим Выход из полноэкранного режима

Сейчас самое время рассмотреть различия между различными операторами равенства и тождества в Javascript. Хорошую статью, объясняющую это, можно найти в Frontend School, написанную замечательным Горасио Эррерой.

Теперь понятно, что null и пустая строка — это не одно и то же:

Как проверить, пуста ли строка?

Вы знаете, что пустая строка — это фактически строка, которая не содержит символов, для проверки этого просто используйте оператор ===.

const str = "";
if(str === "") {
  console.log("El string está vacío");
}
Войдите в полноэкранный режим Выход из полноэкранного режима

Но что произойдет, если строка содержит пробелы?

Считаете ли вы эти пробелы пустой строкой?

Действительно, пробелы " " являются символами, поэтому сравнение не будет работать. Это можно легко решить, если сначала удалить эти пробелы, а затем сравнить.

const whiteSpaces= "  ";
if(whiteSpaces.trim() === "") {
  console.log("El string está vacío");
}
Войдите в полноэкранный режим Выход из полноэкранного режима

Другой способ проверить, пуста ли строка, т.е. не содержит ли она символов, заключается в использовании свойства length.

String — это объект, но он имеет общие свойства с массивами, например, свойство length, которое представляет длину строки.

Вы можете узнать больше об этом свойстве, посетив документацию MDN.

const whiteSpaces= "  ";
if(whiteSpaces.trim().length === 0) {
  console.log("El string está vacío");
}
Войдите в полноэкранный режим Выход из полноэкранного режима

Как проверить, является ли строка нулевой?

Это просто, поскольку null — это значение, которое может содержать переменная, поэтому вам просто нужно сравнить имеющуюся у вас строковую переменную со значением null.

const nullStr = null;
if (nullStr === null) {
  console.log("nullStr es null");
}
Войдите в полноэкранный режим Выход из полноэкранного режима


✉️ Присоединяйтесь к Micro-bytes 🐦 Следите за мной в Twitter ❤️ Поддержите мою работу

Оцените статью
devanswers.ru
Добавить комментарий