preloader

Ejecución condicional: if, ‘?’

En programación, a menudo necesitamos ejecutar diferentes acciones según condiciones específicas. Para esto, podemos utilizar la declaración if y el operador ternario ?.

La declaración «if»

La declaración if(…) evalúa una condición dentro de paréntesis y ejecuta un bloque de código si esa condición es verdadera (true).

Por ejemplo:

				
					let age = prompt('¿Qué edad tienes?', '');

if (age >= 18) {
  alert( '¡Eres mayor de edad!' );
} else {
  alert( 'Eres menor de edad.' );
}

				
			

Si queremos ejecutar más de una instrucción, es recomendable encerrar el bloque de código entre llaves {} para mejorar la legibilidad.

Conversión a Booleano

La declaración if(…) convierte automáticamente la expresión entre paréntesis a un valor booleano. Según las reglas de conversión:

  • Valores como 0, «», null, undefined y NaN se convierten en false.
  • Otros valores se convierten en true.

Por ejemplo:

				
					if (0) { // 0 es falso
  ...
}

if (1) { // 1 es verdadero
  ...
}

				
			

También podemos asignar un valor booleano previamente evaluado a una variable:

				
					let isOldEnough = (age >= 18); // devuelve true o false

if (isOldEnough) {
  ...
}

				
			

La cláusula «else»

La declaración if puede incluir una cláusula else opcional, que se ejecuta cuando la condición es falsa:

				
					if (age >= 18) {
  alert( 'Eres mayor de edad.' );
} else {
  alert( 'Eres menor de edad.' );
}

				
			

Múltiples condiciones: «else if»

Para múltiples condiciones, podemos utilizar la cláusula else if:

				
					if (age < 13) {
  alert( 'Eres un niño.' );
} else if (age < 18) {
  alert( 'Eres un adolescente.' );
} else {
  alert( 'Eres adulto.' );
}

				
			

Operador ternario ‘?’

El operador ternario ? permite asignar un valor a una variable basado en una condición de manera más compacta:

				
					let message = (age < 18) ? 'Eres menor de edad.' : 'Eres mayor de edad.';

				
			

Es una forma abreviada de escribir una estructura if…else. La expresión entre paréntesis se evalúa primero, y luego se devuelve value1 si la condición es verdadera, de lo contrario value2.

Múltiples operadores ‘?’:

Podemos encadenar múltiples operadores ternarios para condiciones más complejas:

				
					let message = (age < 3) ? '¡Hola, bebé!' :
              (age < 18) ? '¡Hola!' :
              (age < 100) ? '¡Felicidades!' :
              '¡Qué edad tan inusual!';

				
			

Esto permite evaluar varias condiciones secuencialmente y asignar un mensaje según la edad proporcionada.

Uso no convencional de ‘?’

A veces, el operador ? se utiliza para mostrar diferentes resultados según una condición, aunque esto no es recomendable para claridad:

				
					let company = prompt('¿Qué compañía creó JavaScript?', '');

(company == 'Netscape') ?
   alert('¡Correcto!') : alert('Incorrecto.');

				
			

Es preferible usar una estructura if…else para claridad y legibilidad

				
					if (company == 'Netscape') {
  alert('¡Correcto!');
} else {
  alert('Incorrecto.');
}

				
			

Este enfoque es más fácil de entender al leer el código verticalmente y facilita la mantenibilidad del mismo.

Conclusión

La declaración if y el operador ternario son herramientas poderosas para controlar el flujo de ejecución en JavaScript, permitiendo ejecutar diferentes acciones según condiciones específicas de manera eficiente y legible.

Related Post

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *