1. Operadores aritméticos

/**
 * OPERADOR DE ASIGNACIÓN
 * =
 */

let alumno = "Beto"

/**
 * OPERADORES ARITMÉTICOS
 */

// + - * / %

let suma = 50 + 60;

console.log( suma ); // output: 110

let resta = 50 - 60;

console.log( resta ); // output: -10

let multi = 5 * 60;

console.log( multi ); // output: 300

let division = 60 / 4;

console.log( division ); // output: 15

let residuo = 62 % 4;

console.log( residuo ); // output: 2

// -------

let numero1 = 10;
let numero2 = 4;

let operacion = numero1 + numero2

console.log( operacion ); // output: 14

<aside> 💡 % residuo de la división

</aside>

2. Operadores de asignación

/**
 * OPERADORES DE ASIGNACIÓN
 * =
 */

let a = 10;
let b = 4;

// asignaciones de forma aritmetica

a += b; // a = a + b
console.log( a ); // output: 14

a -= b;
console.log( a ); // output: 6

a *= b;
console.log( a ); // output: 40

a /= b;
console.log( a ); // output: 2.5

a %= b;
console.log( a ); // output: 2

// exponencial:
let c = 5;
let d = 3;

// 5^3
console.log(c**d); // output: 125

c **= d;
console.log( c ); // output: 125

3. Operador de concatenación

/**
 * OPERADOR DE CONCATENACIÓN
 * (+)
 */

let nombre = "Beto";
let apellido = 'Quiroga';

let nombreCompleto = nombre + " " + apellido;

console.log( nombreCompleto ) // output: Beto Quiroga

// Template String
let nickname = `Mi nombre es: ${20>10} y mi apellido es ${apellido}`;

console.log( nickname ); // output: Mi nombre es: true y mi apellido es Quiroga

4. Operadores de comparación I

/**
 * OPERADORES DE COMPARACIÓN
 */

let a;
let b;

// ES IGUAL == (compara solo el valor)
a = 50;
b = 10;

console.log( a == b ); // output: false

a = 50;
b = "50";

console.log( a == b ); // output: true

// ES ESTRICTAMENTE IGUAL === (compara valor y tipo de dato)
a = 50;
b = "50";

console.log( a === b ); // output: false

a = "50";
b = "50";

console.log( a === b ); // output: true

// ES DIFERENTE != (verifica que los valores sean diferentes)
a = 24;
b = 24;

console.log( a != b ); // output: false

// ES ESTRICTAMENTE DIFERENTE !== (diferente tipo y valor)
a = 24;
b = "24";

console.log( a !== b ); // output: true

a = "Alberto";
b = "Alberto";

console.log( a !== b ); // output: false

a = true;
b = false;

console.log( a !== b ); // output: true

<aside> 💡 funcionan para números, strings y booleanos

</aside>

5. Operadores de comparación II

/**
 * OPERADORES DE COMPARACIÓN II
 */

// mayor que >
// menor que <
// mayor o igual que >=
// menor o igual que <=

let a
let b

a = 20
b = 10

console.log( a > b ) // output: true

console.log( a < b ) // output: false

funcionan solo para números

6. Operadores Lógicos

/**
 * OPERADORES LÓGICOS
 *
 * AND (&&)
 * OR (||)
 */

let a = 10
let b = 20
let c = 30

// Saber si b es mayor que a y b es mayor que c

let resp = b > a && b > c; // también puedes agruparlos en paréntesis

console.log( resp ) // output: false (con que uno sea falso)

// Saber si b es menor que a o si b es menor que c

resp = b < a || b < c;

console.log( resp ) // output: true (almenos una se cumple)

<aside> 💡 Tener presente las tablas de verdad

</aside>

7. Operadores unarios y ternarios

/**
 * OPERADORES UNARIOS
 * solo necesitan de ellos mismos
 */

let a = 10

a++ // se incremente en 1
a++
a++

console.log(a) // output: 13

let b = 10

b--
console.log(b) // output: 9

/**
 * OPERADORES TERNARIOS
 * terna (3)
 */

let a = 5
let b = 8

let c = b > a ? "Es verdad!!!" : "¡¡Es falso!!"

console.log( c ) // output: Es verdad!!!

c = b < a ? "Es verdad!!!" : "¡¡Es falso!!"

console.log( c ) // output: ¡¡Es falso!!

8. Type coercion