¿Cómo revisar si un string es vacío o null en Javascript?

¿Cómo revisar si un string es vacío o null en Javascript?

Matías Hernández's photo
Matías Hernández
·Jul 17, 2022·

3 min read

Lo primero que debemos conocer es que, en Javascript, existe una diferencia sustancial entre null y vacío.

Si declaras una variable y le asignas un valor vació "" y luego la comparas con otra variable a la que asignaste null como valor podrás fácilmente notar que son diferentes con tan solo revisar su tipo

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

Puedes encontrar un demo del código de este artículo en este enlace

Es bueno recordar también que es o que significa null.

Es un valor literal en Javascript que representa intencionalmente un valor nulo. Es uno de los valores primitivos del lenguaje.

Normalmente lo utilizarás en APIs dónde esperas un objeto pero que por alguna razón de la lógica del negocio este objeto no se puede obtener.

Por cierto null y undefined tampoco son lo mismo!

typeof null        // object (bug en ECMAScript, debería ser null)
typeof undefined   // undefined
null === undefined // false
null  == undefined // true

Este es un buen momento para revisar las diferencias entre los distintos operadores de igualdad e identidad en Javascript. Un buen artículo explicando esto lo podrás encontrar en Escuela Frontend, escrito por el gran Horacio Herrera

Ahora, que está claro que null y un string vacío no son lo mismo:

¿Cómo revisas si un string es vacío?

Ya sabes que un string vació es efectivamente eso, un string que no contiene carácteres, para comprobar esto basta con utilizar el operador ===

const str = "";
if(str === "") {
  console.log("El string está vacío");
}

¿Pero que ocurre si el string contiene espacios en blanco?
¿Consideras estos "blanks" como un string vacío?

En efecto, los espacios en blanco " " son caracteres por lo que la comparación no resultará. Esto puede ser fácilmente resuelto al remover estos espacios primero y luego comparar.

const whiteSpaces= "  ";
if(whiteSpaces.trim() === "") {
  console.log("El string está vacío");
}

Otra forma de revisar si el string está vacio, es decir, no tiene caracteres, es utilizando la propiedad length.

Un String es un objeto, pero comparte algunas propiedades con los arreglos, como la propiedad length que representa la longitud de la cadena de texto.

Puedes saber más sobre esta propiedad visitando la documentación de MDN

const whiteSpaces= "  ";
if(whiteSpaces.trim().length === 0) {
  console.log("El string está vacío");
}

¿Cómo revisas si un string es null?

Esto es sencillo, ya que null es un valor que una variable puede contener, entonces bastaría con comparar la variable string que tienes con el valor null

const nullStr = null;
if (nullStr === null) {
  console.log("nullStr es null");
}
 
Share this