Operadores
Operadores Fundamental
Section titled “Operadores ”Operadores aritméticos Básico
Section titled “Operadores aritméticos ”Operadores básicos
Section titled “Operadores básicos”let suma = 5 + 3; // 8let resta = 5 - 3; // 2let multiplicacion = 5 * 3; // 15let division = 15 / 3; // 5let modulo = 5 % 2; // 1 (resto)let exponente = 2 ** 3; // 8 (2³)Incremento y decremento
Section titled “Incremento y decremento”let numero = 5;numero++; // Post-incremento++numero; // Pre-incrementonumero--; // Post-decremento--numero; // Pre-decrementoOperadores de comparación
Section titled “Operadores de comparación”Comparación simple
Section titled “Comparación simple”5 == "5" // true (compara valor)5 != "5" // falseComparación estricta
Section titled “Comparación estricta”5 === "5" // false (compara valor y tipo)5 !== "5" // trueComparaciones numéricas
Section titled “Comparaciones numéricas”5 > 3 // true5 >= 5 // true3 < 5 // true3 <= 3 // trueOperadores lógicos
Section titled “Operadores lógicos”AND (&&)
Section titled “AND (&&)”true && true // truetrue && false // falsefalse && true // falsefalse && false // falseOR (||)
Section titled “OR (||)”true || true // truetrue || false // truefalse || true // truefalse || false // falseNOT (!)
Section titled “NOT (!)”!true // false!false // trueNullish coalescing (??)
Section titled “Nullish coalescing (??)”null ?? "valor" // "valor"undefined ?? "valor" // "valor"0 ?? "valor" // 0"" ?? "valor" // ""Operadores de asignación
Section titled “Operadores de asignación”Asignación simple
Section titled “Asignación simple”let x = 5;Asignación compuesta
Section titled “Asignación compuesta”x += 3; // x = x + 3x -= 3; // x = x - 3x *= 3; // x = x * 3x /= 3; // x = x / 3x %= 3; // x = x % 3x **= 3; // x = x ** 3Operador ternario
Section titled “Operador ternario”let edad = 20;let mensaje = edad >= 18 ? "Mayor de edad" : "Menor de edad";Operadores de bits
Section titled “Operadores de bits”let a = 5; // 101 en binariolet b = 3; // 011 en binario
a & b // AND: 001 (1)a | b // OR: 111 (7)a ^ b // XOR: 110 (6)~a // NOT: -6a << 1 // Left shift: 1010 (10)a >> 1 // Right shift: 010 (2)Precedencia de operadores
Section titled “Precedencia de operadores”let resultado = 2 + 3 * 4; // 14 (no 20)let conParentesis = (2 + 3) * 4; // 20Operadores de encadenamiento opcional
Section titled “Operadores de encadenamiento opcional”Encadenamiento opcional (?.)
Section titled “Encadenamiento opcional (?.)”const usuario = { direccion: { calle: "Principal" }};
const calle = usuario?.direccion?.calle; // "Principal"const numero = usuario?.direccion?.numero; // undefinedMejores prácticas
Section titled “Mejores prácticas”- Usar comparación estricta (=== y !==)
// ✅ Buenoif (valor === null) { // código}- Evitar operadores de incremento/decremento en expresiones complejas
// ❌ Malolet x = y++ + ++z;
// ✅ Buenoy++;++z;let x = y + z;- Usar paréntesis para clarificar precedencia
// ✅ Buenolet resultado = (a + b) * c;- Utilizar el operador nullish coalescing para valores por defecto
// ✅ Buenoconst valor = entrada ?? valorPorDefecto;
🐝