Guard Clauses en Javascript

Los Guard clauses son una gran alternativa a las sentencias `if...else`.

Stiven Castillo
2 min readSeptember 27, 2022

Comprobar uno a uno las condiciones de la función antes de que la función haga su objetivo, así evitamos que la indentación nos dificulte la lectura del código. Sin esto nos tocaría leer toda la función línea por línea para entender su funcionamiento.

Los Guard clauses son una gran alternativa a las sentencias if...else. Se trata de comprobar una a una las condiciones de la función evitando el anidamiento de estas.

function userIsAdmin(user) {
	if (user.role == "admin") {
		if (user.manager == true) {
			return true;
		} else {
			return false;
		}
	} else {
		return false;
	}
}

En el ejemplo anterior vemos que hay varios if...else anidados, podemos refactorizar esta función con Guard Clauses de la siguiente manera:

function userIsAdmin(user) {
	if (user.role != 'admin') return false
	if (user.manager != true) return false
	return true
}

Es mucho más legible y en 4 líneas de código apenas.

Las principales ventajas de usar guard causes son:

  • Ayudan a crear un código limpio y fácil de leer
  • protegen el flujo de la lógica para que no continúe si ciertas condiciones se cumplen o no se cumplen. Esto es extremadamente beneficioso, ya que aumenta la velocidad de ejecución de una función, así como reduce el número de líneas en sus funciones y clases.