Condicionales sin else en JavaScript

Condicionales sin else en JavaScript


JS

Al utilizar JavaScript es muy común que en algun momento se necesite utilizar el operador ternario, que no es más que una forma de escribir un condicional if-else en una sola línea.

Por ejemplo:

let variable = true;
let resultado = "";

if (variable) {
  resultado = "La variable es verdadera";
} else {
  resultado = "La variable es falsa";
}

// operador ternario
resultado = variable ? "La variable es verdadera" : "La variable es falsa";

if sin else

Hasta aquí todo bien, pero ¿Que pasa si solo se necesita evaluar una condición y no se necesita hacer nada si no se cumple? Veamos un ejemplo:

if (variable) {
  alert("Verdadero");
}

En este caso, si la variable es verdadera, se mostrará un alert con el texto “Verdadero”, sin considerar el caso en el que la variable sea falsa. Podemos escribirlo utilizando el operador ternario de la siguiente forma:

variable ? alert("Verdadero") : null;

En este ejemplo no se necesita especificar null, por lo que se puede sustituir al utilizar el operador &&:

variable && alert("Verdadero");

De esta manera el código queda más limpio y solo se ejecutará el alert si la variable es verdadera.

Valor null por defecto

En algunos casos es posible que se tenga una función que devuelve un valor cualquiera, pero se desea devolver un valor predeterminado si no se recibe ningún valor. Por ejemplo:

let nombre = null;

const usuario = {
	nombreUsuario: nombre ? nombre : "Invitado",
};

console.log(usuario);
// {nombreUsuario: "Invitado"}

En este ejemplo la variable nombre se inicializa con el valor null, después se define un objeto usuario que tiene la propiedad nombreUsuario que a su vez se inicializa con el valor de la variable nombre o con el valor “Invitado” si la variable es null. En este caso, el valor de la propiedad nombreUsuario será “Invitado”.

Todo funciona bien, pero se puede simplificar utilizando el operador ?? para establecer un valor predeterminado:

const usuario = {
  nombreUsuario: nombre ?? "Invitado",
};

console.log(usuario);
// {nombreUsuario: "Invitado"}

De esta manera se devuelve el valor de la variable nombre si no es null o undefined, en caso contrario se devuelve el valor “Invitado”.

En conclusión, la sintaxis abreviada if en JavaScript es una herramienta valiosa que podemos utilizar para escribir código más limpio y legible utilizando el condicional if sin else o el operador ternario.