Regístrate para acceder a más de 15 cursos gratuitos de programación con un simulador

Operador ternario Fundamentos de JavaScript

A veces, en JavaScript usamos if y else para que el programa tome decisiones. Pero también existe una forma más corta y elegante de hacerlo en casos simples: el operador ternario.

Operador ternario

¿Positivo o negativo?

Imagina que estás haciendo una app que convierte temperaturas. Y necesitas saber si un número es positivo o negativo. Aquí hay una función clásica:

const abs = (numero) => {
  if (numero >= 0) {
    return numero;
  }
  return -numero;
};

console.log(abs(10));   // 10
console.log(abs(-10));  // 10

👉 Esta función devuelve el valor absoluto: siempre positivo. Ahora vamos a acortarla con el operador ternario.

¿Qué es el operador ternario?

Es una construcción especial que permite reemplazar un if-else en una sola línea.
<condición> ? <valor si es verdadero> : <valor si es falso>

En nuestra función de valor absoluto, podemos reemplazar el if-else así:

const abs = (numero) => numero >= 0 ? numero : -numero;

👉 Se lee así: “Si el número es mayor o igual a 0, devuélvelo tal cual. Si no, cambia el signo.”

Otro ejemplo: ¿es una pregunta?

Imagina que estás creando un chatbot y necesitas saber si la persona está haciendo una pregunta (para responder distinto).

const getTipoOracion = (texto) => {
  const ultimoCaracter = texto.slice(-1);

  return ultimoCaracter === '?' ? 'pregunta' : 'normal';
};

console.log(getTipoOracion('¿Qué hora es?')); // 'pregunta'
console.log(getTipoOracion('Hola'));          // 'normal'

Aquí usamos .slice(-1) para tomar el último carácter. Si es ?, sabemos que es una pregunta.

Podemos escribir esto de una manera más compacta:

const getTypeOfSentence = (sentence) => {
  const lastChar = sentence.slice(-1);
  return lastChar === '?' ? 'question' : 'normal';
};

console.log(getTypeOfSentence('Hodor'));   // 'normal'
console.log(getTypeOfSentence('Hodor?'));  // 'question'

¿Y si hay más de dos opciones?

El operador ternario también permite hacer esto:

const clasificarNumero = (n) =>
  n > 0 ? 'positivo' : n < 0 ? 'negativo' : 'cero';
Aunque funciona, se vuelve difícil de leer. Es mejor usar if-else cuando hay más de una decisión.


Resumen

  • El operador ternario permite escribir condicionales en una sola línea
  • Es útil para expresiones simples y hace que el código sea más limpio y compacto.

Usa el operador ternario cuando haga que tu código sea más claro, pero siempre prioriza la legibilidad.

Para acceder completo a curso necesitas un plan básico

El plan básico te dará acceso completo a todos los cursos, ejercicios y lecciones de Códica, proyectos y acceso de por vida a la teoría de las lecciones completadas. La suscripción se puede cancelar en cualquier momento.

Obtener acceso
130
cursos
1000
ejercicios
2000+
horas de teoría
3200
test

Obtén acceso

Cursos de programación para principiantes y desarrolladores experimentados. Comienza tu aprendizaje de forma gratuita

  • 130 cursos, 2000+ horas de teoría
  • 1000 ejercicios prácticos en el navegador
  • 360 000 estudiantes
Al enviar el formulario, aceptas el «Política de privacidad» y los términos de la «Oferta», y también aceptas los «Términos y condiciones de uso»

Nuestros graduados trabajan en empresas como:

Bookmate
Health Samurai
Dualboot
ABBYY