DEV Community 👩‍💻👨‍💻

Cover image for ¿Cómo revisar si un string es vacío o null en Javascript?
Matías Hernández Arellano
Matías Hernández Arellano

Posted on • Originally published at matiashernandez.dev

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

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

Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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");
}
Enter fullscreen mode Exit fullscreen mode

¿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");
}
Enter fullscreen mode Exit fullscreen mode

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");
}
Enter fullscreen mode Exit fullscreen mode

¿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");
}
Enter fullscreen mode Exit fullscreen mode

Footer Social Card.jpg
✉️ Únete a Micro-bytes 🐦 Sígueme en Twitter ❤️ Apoya mi trabajo

Top comments (0)

Need a better mental model for async/await?

Check out this classic DEV post on the subject.

⭐️🎀 JavaScript Visualized: Promises & Async/Await

async await