Condicionales y Operador Ternario
Aprende a controlar el flujo de tu programa con if, else if, else, valores truthy/falsy y expresiones compactas con el operador ternario.
Toma de Decisiones con if / else
Las estructuras condicionales permiten ejecutar diferentes bloques de código según se cumpla o no una condición lógica:
const calificacion = 85;
if (calificacion >= 90) {
console.log("Sobresaliente");
} else if (calificacion >= 70) {
console.log("Aprobado");
} else {
console.log("Debe presentar recuperación");
}
Valores "Truthy" y "Falsy" en JavaScript
En JavaScript, cualquier valor que pongas dentro de un if (condicion) se evalúa como booleano. Solo existen 6 valores que son considerados falsos (Falsy):
false0(el número cero)""(cadena de texto vacía)nullundefinedNaN(Not a Number)
Cualquier otro valor (números distintos de cero, strings con contenido, arrays vacíos [] y objetos {}) se evalúa automáticamente como verdadero (Truthy).
El Operador Ternario ( ? : )
Es una forma compacta de escribir un condicional if / else simple en una sola línea, ideal para asignar valores directos:
const edad = 20;
// condicion ? si_es_verdadero : si_es_falso
const acceso = (edad >= 18) ? "Permitido" : "Denegado";
⚡ Sistema de Evaluación con Condicionales
Ingresa un puntaje de 0 a 100 para evaluar el estado del alumno mediante if/else y el operador ternario:
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<title>Condicionales en JavaScript</title>
<style>
body { font-family: Arial, Helvetica, sans-serif; padding: 25px; background: #f8fafc; }
.card-cond { max-width: 480px; background: white; border: 1px solid #cbd5e1; border-radius: 8px; padding: 22px; }
input[type="number"] { width: 100%; box-sizing: border-box; padding: 8px 10px; margin: 8px 0 14px 0; border: 1px solid #cbd5e1; border-radius: 6px; }
.alerta-resultado { padding: 12px; border-radius: 6px; margin-top: 15px; font-weight: 500; }
</style>
</head>
<body>
<div class="card-cond">
<h3 style="margin-top: 0; color: #0f172a;">Evaluación de Desempeño</h3>
<label for="puntaje">Ingresa la Calificación (0 - 100):</label>
<input type="number" id="puntaje" min="0" max="100" value="78">
<button onclick="evaluarPuntaje()" style="background: #0284c7; color: white; border: none; padding: 9px 16px; border-radius: 6px; cursor: pointer; font-weight: bold; width: 100%;">
Evaluar Condicional
</button>
<div id="resultado-evaluacion"></div>
<script>
function evaluarPuntaje() {
const nota = Number(document.getElementById('puntaje').value);
let mensaje = "";
let colorFondo = "";
if (nota >= 90) {
mensaje = "🏆 Nivel Avanzado: Aprobación con Honores.";
colorFondo = "#dcfce7";
} else if (nota >= 70) {
mensaje = "✅ Nivel Intermedio: Aprobado satisfactoriamente.";
colorFondo = "#e0f2fe";
} else {
mensaje = "⚠️ Nivel Básico: Necesita tutoría con Sócrates AI.";
colorFondo = "#fee2e2";
}
// Operador ternario para decidir si emite certificado
const tieneCertificado = (nota >= 70) ? "Certificado disponible" : "Sin certificado";
document.getElementById('resultado-evaluacion').innerHTML = `
<div class="alerta-resultado" style="background: ${colorFondo};">
${mensaje}<br>
<small>Estado: <strong>${tieneCertificado}</strong></small>
</div>
`;
}
evaluarPuntaje();
</script>
</div>
</body>
</html>
¿Tienes dudas con este tema?
Sócrates AI puede darte analogías y explicarte este código paso a paso.🚀 ¿Quieres dominar Manual Completo de JavaScript ES6+ y crear proyectos reales?
Aprende arquitectura limpia, desarrollo web moderno, buenas prácticas y despliegue en producción con nuestro Bootcamp Fullstack Developer con mentorías en vivo.
🏛️ Autoría y Propiedad Intelectual: Obra educativa original de David Amador para Kilopolis Academia (Solucionáticos), estructurada sobre las especificaciones y estándares abiertos del W3C, el estándar vivo de WHATWG y la documentación oficial de código abierto. © Todos los derechos reservados.