miguedocs

Operadores. Op. aritméticos, lógicos, concatenación

Guía completa sobre los operadores aritméticos, lógicos, de comparación y asignación en JavaScript.

Operadores en JavaScript

Operadores Aritméticos

Son los que usamos para realizar operaciones matemáticas básicas:

OperadorNombreEjemploResultado
+Suma5 + 27
-Resta5 - 23
*Multiplicación5 * 210
/División10 / 25
%Módulo (resto)10 % 31
**Exponente2 ** 38
++Incrementox = 1; x++2
--Decrementox = 1; x--0

[!NOTE] Tanto ++ como -- pueden ser pre o post, y actúan distinto en la asignación:

let a = 5;
let b = a++; // b es 5 y a es 6 (primero asigna, luego incrementa)
let c = ++a; // c es 7 y a es 7 (primero incrementa, luego asigna)

La Concatenación

In JavaScript, el operador + también se utiliza para concatenar strings. Si uno de los operandos es un string, JavaScript convierte automáticamente el otro operando a string (coerción):

const nombre = "Juan";
const saludo = "Hola, " + nombre + "!";  // "Hola, Juan!"

"Hola" + 5;   // "Hola5"
"2" + 2;      // "22"
2 + 2 + "2";  // "42" (Primero suma 2+2=4, luego concatena "4" + "2")
"2" + 2 + 2;  // "222" (Convierte todo a string desde el principio)

Operadores de Asignación

OperadorSignificadoEjemplo
=Asignaciónx = 10
+=Suma y asignax += 2 (equivale a x = x + 2)
-=Resta y asignax -= 2 (equivale a x = x - 2)
*=Multiplica y asignax *= 2 (equivale a x = x * 2)
/=Divide y asignax /= 2 (equivale a x = x / 2)
%=Módulo y asignax %= 3 (equivale a x = x % 3)

Operadores de Comparación

OperadorEjemploSignificadoResultado
==5 == "5"Igualdad (con coerción)true
===5 === "5"Igualdad estricta (valor y tipo)false
!=5 != "5"Distinto (con coerción)false
!==5 !== "5"Distinto estrictotrue
>5 > 3Mayor quetrue
<5 < 3Menor quefalse
> =5 >= 5Mayor o igual quetrue
<= 3 <= 2Menor o igual quefalse

Operadores Lógicos

OperadorNombreEjemploResultado
&&ANDtrue && falsefalse
``OR
!NOT!truefalse

[!TIP] Los operadores && y || no siempre devuelven booleanos; pueden retornar el último valor evaluado, lo cual es muy útil para asignaciones condicionales o valores por defecto.

Concatenación vs Aritmética

2 + 2;        // 4
"2" + 2;      // "22"
2 + "2";      // "22"
"2" - 1;      // 1 (resta forzada, convierte el string a número)
"Hola" - 1;   // NaN (no se puede convertir "Hola" a número)

Template Strings

Para evitar la concatenación compleja con +, se recomienda usar Template Strings con backticks (`):

const nombre = "Pedro";
const edad = 30;

const mensaje = `Hola, mi nombre es ${nombre} y tengo ${edad} años`;

On this page