Operadores aritméticos
Con los números del buffet se hacen cuentas todo el tiempo: el total de un pedido, el stock que queda, el vuelto. Los operadores son los signos que hacen esas cuentas.
| Operador | Qué hace | Ejemplo | Resultado |
|---|---|---|---|
+ | Suma | 350 + 200 | 550 |
- | Resta | 500 - 350 | 150 |
* | Multiplica | 350 * 2 | 700 |
/ | Divide | 700 / 4 | 175 |
% | El resto de la división | 7 % 2 | 1 |
** | Potencia | 2 ** 3 | 8 |
La precedencia es la de la escuela: primero paréntesis, después multiplicación y división, y al final suma y resta. Y hay una forma corta de sumar a una variable:
let total = 0;
total = total + 350;
total += 350; // lo mismo que la línea de arriba
total -= 100; // resta 100
total++;
El total del pedido se arma sumando, y para que no queden decimales raros se redondea al final con Math.round(): Math.round(0.1 + 0.2) * 100 / 100.
Comparaciones
Comparar es preguntar si dos valores son iguales o cuál es mayor. La respuesta siempre es un booleano: true o false.
| Operador | Pregunta | Ejemplo | Resultado |
|---|---|---|---|
=== | ¿Son iguales en valor y tipo? | 350 === 350 | true |
!== | ¿Son distintos? | 350 !== 200 | true |
> | ¿El izquierdo es mayor? | 500 > 350 | true |
< | ¿El izquierdo es menor? | 500 < 350 | false |
>= / <= | Mayor o igual / menor o igual | 350 >= 350 | true |
===, nunca ==. El doble igual convierte tipos antes de comparar: 1 == "1" da true, y 0 == "" también. En un control de stock o de acceso, esa conversión deja pasar cosas que no deberían pasar. El triple igual compara valor y tipo: 1 === "1" da false, que es lo correcto.
Operadores lógicos
Sirven para combinar condiciones: «hay stock y el alumno tiene saldo», «es feriado o es domingo», «no está abierto».
| Operador | Se lee | Es verdadero cuando… |
|---|---|---|
&& | Y | Las dos condiciones son verdaderas. |
|| | O | Al menos una es verdadera. |
! | No | La condición es falsa (invierte). |
const hayStock = true;
const tieneSaldo = false;
console.log(hayStock && tieneSaldo); // false: falta el saldo
console.log(hayStock || tieneSaldo); // true: al menos uno
console.log(!hayStock); // false
Los tres se combinan con paréntesis cuando hay varias condiciones, y el orden importa: a || b && c no es lo mismo que (a || b) && c. Ante la duda, paréntesis.
if y else
Con las comparaciones ya se puede decidir. El if ejecuta un bloque solo si la condición es verdadera:
const stockSandwich = 0;
if (stockSandwich === 0) {
console.log("No quedan sándwiches");
}
El else agrega el camino alternativo, para cuando la condición es falsa:
if (stockSandwich === 0) {
console.log("No quedan sándwiches");
} else {
console.log(`Quedan ${stockSandwich} sándwiches`);
}
Las llaves { } marcan el bloque que se ejecuta. Conviene escribirlas siempre, aunque el bloque tenga una sola línea: evitan errores cuando después se agrega otra instrucción.
else if: varias posibilidades
Cuando hay más de dos casos se encadenan con else if. Se evalúan en orden y se ejecuta solo el primero que sea verdadero:
const total = 2500;
if (total >= 5000) {
console.log("Descuento del 15%");
} else if (total >= 2000) {
console.log("Descuento del 10%");
} else if (total >= 1000) {
console.log("Descuento del 5%");
} else {
console.log("Sin descuento");
}
Con total = 2500 imprime «Descuento del 10%»: la primera condición es falsa, la segunda verdadera, y ahí se detiene. Las demás ni se miran.
total >= 1000, cualquier pedido de 2500 cae ahí y nunca llega al descuento del 10%. Se ordena de la condición más exigente a la menos exigente.
Resumen
- Aritméticos:
+ - * / % **, con la precedencia de la escuela. - Comparaciones: siempre con
===y!==;==convierte tipos y esconde errores. - Lógicos:
&&(y),||(o),!(no). ifejecuta si la condición es verdadera;elsees el camino alternativo.else ifencadena casos y ejecuta solo el primero verdadero; el orden importa.
En la próxima lección el programa repite tareas: bucles para recorrer el menú y sumar muchos productos sin escribir una línea por cada uno.
Licencia. El material de esta página es elaboración propia de Prof Mauro Bobyk —a partir de las fuentes que detalla el pie del sitio— y se publica bajo una licencia Creative Commons BY-NC-SA 4.0.