Operadores Básicos y Matemáticas en JavaScript
Conceptos Esenciales: Unario, Binario y Operando
Para profundizar en el uso de operadores en JavaScript, primero definamos algunos términos clave:
- Operando: El valor sobre el cual actúan los operadores. Por ejemplo, en la multiplicación 5∗25 * 25∗2, los operandos son 5 y 2.
- Operador Unario: Actúa sobre un solo operando. Ejemplo: la negación unaria −-− que cambia el signo de un número:
let x = 1;
x = -x;
console.log(x); // -1
Operador Binario: Involucra dos operandos. Ejemplo: la resta binaria:
let x = 1, y = 3;
console.log(y - x); // 2
Operaciones Matemáticas en JavaScript
JavaScript soporta los siguientes operadores matemáticos:
- Suma
+
- Resta
-
- Multiplicación
*
- División
/
- Módulo
%
- Exponenciación
**
Operador Módulo %
Este operador devuelve el resto de la división entera de dos números:
console.log(5 % 2); // 1
console.log(8 % 3); // 2
console.log(8 % 4); // 0
Operador Exponenciación **
Este operador eleva un número a la potencia de otro:
console.log(2 ** 2); // 4
console.log(2 ** 3); // 8
console.log(2 ** 4); // 16
Puede manejar exponentes fraccionarios, por ejemplo, para calcular raíces:
console.log(4 ** (1/2)); // 2
console.log(8 ** (1/3)); // 2
Concatenación de Cadenas con el Operador Binario +
El operador +
puede unir cadenas de texto:
let s = "my" + "string";
console.log(s); // "mystring"
Si uno de los operandos es una cadena, los demás operandos también se convierten a cadenas:
console.log('1' + 2); // "12"
console.log(2 + '1'); // "21"
console.log(2 + 2 + '1'); // "41"
console.log('1' + 2 + 2); // "122"
Conversión Numérica con el Operador Unario +
El operador unario +
convierte operandos a números si no lo son:
console.log(+true); // 1
console.log(+""); // 0
Esto es útil para convertir cadenas a números en formularios HTML:
let apples = "2";
let oranges = "3";
console.log(+apples + +oranges); // 5
Precedencia de Operadores
La precedencia de operadores determina el orden de ejecución cuando hay más de un operador en una expresión. Por ejemplo:
let x = 2 * 2 + 1;
console.log(x); // 5
Aquí, la multiplicación tiene mayor precedencia que la suma.
Operador de Asignación =
El operador de asignación =
también devuelve un valor. Por ejemplo:
let a = 1;
let b = 2;
let c = 3 - (a = b + 1);
console.log(a); // 3
console.log(c); // 0
Asignaciones Encadenadas
Es posible encadenar asignaciones en una sola línea:
let a, b, c;
a = b = c = 2 + 2;
console.log(a); // 4
console.log(b); // 4
console.log(c); // 4
Modificar Valores en el Lugar
Los operadores de asignación combinados permiten modificar y reasignar valores en una sola operación:
let n = 2;
n += 5; // n = n + 5
n *= 2; // n = n * 2
console.log(n); // 14
Incremento y Decremento
Los operadores ++
y --
aumentan o disminuyen un valor en uno, respectivamente:
let counter = 2;
counter++;
console.log(counter); // 3
counter--;
console.log(counter); // 1
Forma Prefijo y Sufijo
La forma prefijo devuelve el valor incrementado, mientras que la forma sufijo devuelve el valor antes del incremento:
let counter = 1;
let a = ++counter;
console.log(a); // 2
counter = 1;
a = counter++;
console.log(a); // 1
Operadores a Nivel de Bit
JavaScript también soporta operadores a nivel de bit, útiles en áreas como la criptografía:
- AND
&
- OR
|
- XOR
^
- NOT
~
- LEFT SHIFT
<<
- RIGHT SHIFT
>>
- ZERO-FILL RIGHT SHIFT
>>>
Operador Coma ,
El operador coma permite evaluar varias expresiones y devolver el resultado de la última:
let a = (1 + 2, 3 + 4);
console.log(a); // 7
Este operador se usa raramente y su precedencia es muy baja, por lo que los paréntesis son necesarios para definir el orden correcto de evaluación.
Conclusión
Los operadores en JavaScript son herramientas poderosas que van más allá de la aritmética básica. Comprender su uso y precedencia es fundamental para escribir código eficiente y legible.