- Permite alterar el flujo secuencial de ejecución del código.
- Decide:
- qué líneas se ejecutan
- cuáles se omiten
- bajo qué condiciones
- Ejemplos:
- ejecutar algo solo si se cumple una condición
- ejecutar una alternativa si no se cumple
let a = 5;
if (a > 10) {
console.log('A es mayor a 10');
}
console.log('Fin del programa');- El código dentro del
ifsolo se ejecuta si la condición es true. - En este caso:
5 > 10→false- No entra al
if
> // mayor que
< // menor que
>= // mayor o igual
<= // menor o igualif (a >= 10) {
console.log('A es mayor o igual a 10');
}Permite ejecutar un bloque alternativo si la condición no se cumple.
if (a >= 10) {
console.log('A es mayor o igual a 10');
} else {
console.log('A es menor a 10');
}- Se lee como:
- Si se cumple → ejecuta
if - Si no → ejecuta
else
- Si se cumple → ejecuta
El if siempre espera un booleano (true o false).
if (true) { ... }
if (false) { ... }Más adelante se verá lógica booleana con más detalle.
const hoy = new Date();
const dia = hoy.getDay();Valores de getDay():
0→ domingo1→ lunes2→ martes- …
6→ sábado
if (dia = 0) { ... }- ❌ ERROR LÓGICO
- Asigna el valor
- Retorna el valor asignado
- Puede provocar bugs muy difíciles de detectar
if (dia == '0') { ... }- Compara solo el valor
- No compara el tipo
'0' == 0→true
if (dia === 0) { ... }- Compara:
- valor
- tipo de dato
0 === '0'→false
✅ Usar siempre === para evitar errores.
if (dia === 0) {
console.log('Domingo');
} else {
console.log('No es domingo');
}if (dia === 0) {
console.log('Domingo');
} else {
if (dia === 1) {
console.log('Lunes');
} else {
console.log('No es lunes ni domingo');
}
}- Funciona ✅
- Poco legible ❌
- Difícil de mantener ❌
if (dia === 0) {
console.log('Domingo');
} else if (dia === 1) {
console.log('Lunes');
} else if (dia === 2) {
console.log('Martes');
} else {
console.log('No es lunes, martes ni domingo');
}✅ Más limpio
✅ Más legible
✅ Más fácil de mantener
- ✅ Usar siempre
=== - ❌ Nunca usar
=en condiciones - ❌ Evitar
ifanidados innecesarios - ✅ Preferir
else if - ✅ Usar
console.log(condición)para depurar
ifdecide si un bloque se ejecutaelsecubre el caso contrarioelse ifpermite múltiples condiciones===evita errores por conversión de tipos- Las estructuras de control son la base de la lógica en JavaScript