
Operadores en JavaScript
Los operadores son símbolos especiales que se utilizan para realizar operaciones en variables y valores. JavaScript ofrece una amplia gama de operadores que permiten realizar cálculos, comparaciones y manipulaciones lógicas. En este artículo, exploraremos los principales tipos de operadores en JavaScript y cómo utilizarlos efectivamente.
1. Operadores Aritméticos
Los operadores aritméticos se utilizan para realizar operaciones matemáticas básicas.
- Suma (+): 5 + 3 // 8
- Resta (-): 10 - 4 // 6
- Multiplicación (*): 3 * 4 // 12
- División (/): 20 / 5 // 4
- Módulo (%): 17 % 5 // 2 (devuelve el resto de la división)
- Exponenciación (**): 2 ** 3 // 8 (2 elevado a la 3)
- Incremento (++): let a = 5; a++; // a ahora es 6
- Decremento (—): let b = 8; b—; // b ahora es 7
2. Operadores de Asignación
Estos operadores asignan valores a variables.
- Asignación simple (=): let x = 5;
- Asignación con suma (+=): x += 3; // equivalente a x = x + 3
- Asignación con resta (-=): x -= 2;
- Asignación con multiplicación (*=): x *= 4;
- Asignación con división (/=): x /= 2;
- Asignación con módulo (%=): x %= 3;
3. Operadores de Comparación
Se utilizan para comparar valores y devuelven un valor booleano.
- Igual (==): 5 == “5” // true (compara valor, no tipo)
- Estrictamente igual (===): 5 === “5” // false (compara valor y tipo)
- No igual (!=): 5 != “6” // true
- Estrictamente no igual (!==): 5 !== “5” // true
- Mayor que (>): 7 > 5 // true
- Menor que (<): 3 < 2 // false
- Mayor o igual que (>=): 5 >= 5 // true
- Menor o igual que (<=): 4 <= 4 // true
4. Operadores Lógicos
Estos operadores trabajan con valores booleanos.
- AND lógico (&&): true && false // false
- OR lógico (||): true || false // true
- NOT lógico (!): !true // false
5. Operadores de Tipo
- Operador typeof: typeof 42 // “number”
- Operador instanceof: [] instanceof Array // true
6. Operador Ternario
Es un operador condicional que toma tres operandos.
let edad = 20;
let mensaje = (edad >= 18) ? "Eres mayor de edad" : "Eres menor de edad";
console.log(mensaje); // "Eres mayor de edad"
7. Operadores de Bit a Bit
Estos operadores realizan operaciones a nivel de bits en números enteros.
- AND bit a bit (&): 5 & 3 // 1
- OR bit a bit (|): 5 | 3 // 7
- XOR bit a bit (^): 5 ^ 3 // 6
- NOT bit a bit (~): ~5 // -6
- Desplazamiento a la izquierda (<<): 5 << 1 // 10
- Desplazamiento a la derecha (>>): 5 >> 1 // 2
- Desplazamiento a la derecha sin signo (>>>): -5 >>> 1 // 2147483645
8. Operador de Encadenamiento Opcional
Introducido en ECMAScript 2020, este operador permite leer el valor de una propiedad ubicada dentro de una cadena de objetos sin tener que validar explícitamente que cada referencia en la cadena sea válida.
let obj = {
nested: {
prop: 'value'
}
};
console.log(obj?.nested?.prop); // 'value'
console.log(obj?.nonexistent?.prop); // undefined
9. Operador de Coalescencia Nula
También introducido en ECMAScript 2020, este operador (??) devuelve el operando de la derecha cuando el operando de la izquierda es null o undefined, y en caso contrario devuelve el operando de la izquierda.
let nombre = null;
console.log(nombre ?? "Anónimo"); // "Anónimo"
let edad = 0;
console.log(edad ?? 18); // 0
10. Operador de Propagación (Spread)
Este operador (…) permite expandir un iterable (como un array o un objeto) en lugares donde se esperan cero o más argumentos o elementos.
let arr1 = [1, 2, 3];
let arr2 = [...arr1, 4, 5]; // [1, 2, 3, 4, 5]
let obj1 = { a: 1, b: 2 };
let obj2 = { ...obj1, c: 3 }; // { a: 1, b: 2, c: 3 }
Conclusión
Los operadores en JavaScript son herramientas poderosas que permiten realizar una amplia gama de operaciones, desde cálculos matemáticos simples hasta manipulaciones complejas de datos. Comprender cómo funcionan estos operadores y cuándo utilizarlos es fundamental para escribir código JavaScript eficiente y efectivo.
Es importante recordar que algunos operadores pueden tener comportamientos inesperados, especialmente cuando se trabaja con diferentes tipos de datos. Por lo tanto, siempre es una buena práctica probar tu código y estar atento a posibles conversiones de tipo implícitas.
Dominar el uso de los operadores te permitirá escribir código más limpio, más eficiente y más expresivo, mejorando tu capacidad para resolver problemas y crear aplicaciones robustas en JavaScript.