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

- 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

js
					
						

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

					
				

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

sponsor

El contenido de este sitio es y será siempre gratuito para todos. Ayudame a mantenerlo así convirtiendote en auspiciador.
Matias Hernández Logo

Tu producto o servicio podría estar aquí

Es un valor literal en Javascript que representa intencionalmente un valor nulo. Es uno de losvalores 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!

js
					
						

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

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 ===

js
					
						

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.

js
					
						

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.

js
					
						

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

js
					
						

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

😃 Thanks for reading!

Did you like the content? Found more content like this by joining to the Newsletter or following me on Twitter