Operadores aritméticos

  • En ECMAScript existen operadores que nos van a permitir hacer operaciones ariméticas como pueden ser la suma, resta, multiplicación y división entre otros

Suma

  • Usando el operador + podemos sumar dos números o dos tipos de dato number
2 + 2
  • En este ejemplo estamos sumando dos valores de number literales
let miEdad = 20;
let edadDeMiHermano = 15;
console.log(miEdad + edadDeMiHermano);
  • Podemos sumar el valor que tienen asignado 2 o más variables
let miEdad = 20;
let edadDeMiHermano = 15;
let resultado = miEdad + edadDeMiHermano;
console.log(resultado);
  • También podemos utilizar una variable para guardar el resultado de sumar los valores de otras variables

Resta

  • Usando el operador - podemos restar dos números o dos tipos de dato number
2 - 2; // Obtenemos 0 como resultado
let miEdad = 20;
let edadDeMiHermano = 15;
// Mostramos en consola el resultado de restar los valores de estas dos variables
console.log(miEdad - edadDeMiHermano);
// Utilizamos una variable para guardar el resultado de la operación
let resultado = miEdad - edadDeMiHermano;
console.log(miEdad - edadDeMiHermano);
  • Podemos usar más de un operador:
10 + 2 - 2;
let miEdad = 20;
let edadDeMiHermano = 15;
// Podemos utilizar distintos operadores como también valores literales
console.log(miEdad - edadDeMiHermano + 10);
let resultado = miEdad - edadDeMiHermano + 10;
console.log('El resultado es: ' + resultado);

Multiplicación

  • Usando el operador * podemos multiplicar dos números o dos tipos de dato number
2 * 2; // Obtenemos 4 como resultado
let numero1 = 10;
let numero2 = 5;
console.log(numero1 * numero2);
let resultado = numero1 * numero2;
console.log(resultado)
  • Podemos utilizar paréntesis para establecer que operación queremos que se resuelva primero, esto tiene que ver con la precendecia de operadores. Es como volver al colegio pero ahora tiene sentido!
2 + 2 * 4; // 10
(2 + 2) * 4; // 16
  • En este caso vemos que al utilizar paréntesis estabamos definiendo como queremos que se hagan las operaciones
  • En el segundo ejemplo vemos que primero se va a resolver la suma de 2 + 2 y luego se va a multiplicar el resultado
  • Este concepto también funciona con variables como es de esperar
let dos = 2;
let cuatro = 4;
console.log(dos + dos * cuatro); // 10
console.log( (dos + dos) * cuatro ); // 16

División

  • Usando el operador / podemos dividir dos números o dos tipos de dato number
20 / 2; // 10
let numero1 = 20;
let numero2 = 2;
console.log(numero1 / numero2); // 10
let resultado = numero1 / numero2;
console.log(resultado); // 10
  • Dado que este código es una representación de una operación matemática tenemos que tener cuidado a la hora de dividir por 0
  • ECMAScript obtenemos un valor del tipo Infinity al intentar dividir por 0
  • Para saber más sobre este valor podes visitar el sitio de MDN

Módulo o resto

  • Usando el operador % podemos obtener el resto de dividir dos números o dos tipos de dato number
20 % 2; // 0
let numero1 = 20;
let numero2 = 2;
console.log(numero1 % numero2); // 0
let resultado = numero1 % numero2;
console.log(resultado); // 0
  • Este operador nos es útil por ejemplo si queremos saber si un número es par o no.

Incremento y decremento

  • Por medio de distintos operadores podemos hacer operaciones de una forma más simple a nivel código

Incrementar en 1

  • Utilizando el operador ++ podemos incrementar un valor en 1

Ejemeplo:

let numero = 0;
numero++;
console.log(numero); // 1
  • También podemos establecer que primero queremos incrementar la variable para luego utilizarla cambiando el lugar del operador
let numero = 0;
++numero;
console.log(numero); // 1
  • En este caso parece ser lo mismo pero se pueden dar situaciones donde no lo sea

Restar un número

  • Utilizando el operador -- podemos reducir un valor en 1
  • Al igual que en el incremento el operador puede ir delante o después del valor según el resultado esperado
let numero = 10;
--numero;
console.log(numero); // 9
numero--;
console.log(numero); // 8

Hacer una operación sobre un mismo valor

  • Al definir una variable podemos asignarle un valor como ya vimos
  • Podemos reutilizar esa variable para asignarle otro valor
  • También podemos utilizar la variable para usar el valor y luego asignarlo de nuevo a la misma variable
  • Vamos a ver un ejemplo:
let numero = 1;
numero = numero + 1
  • Como vimos podemos usar el operador ++ para conseguir el mismo resultado
let numero = 1;
numero++;
  • Es decir que en este caso se incrementa y asigna el valor de la variable numero
  • Este operador es súper útil pero sólo nos permite operar con la suma y con un valor de 1
  • Existen distintos operadores que nos permiten hacer operaciones sobre un valor y asignar el resultado a la misma variable escribiendo menos código
  • Los operadores son:
    • += para la suma
    • -= para la resta
    • *= para la multiplicación
    • /= para la división
  • Este concepto se entiende mejor desde código
let numero = 1;
numero +=
console.log(numero); // 2
let numero = 1;
numero = numero + 10;
console.log(numero); // 11
  • También puedo hacer esta operación de la siguiente forma
let numero = 1;
numero += 10;
console.log(numero); // 11
  • Vemos que podemos sumar el valor 10 al valor que tiene la variable numero y asignar el resultado a la misma variable utilizando sólo el operador +=
  • Podemos hacer esto con el resto de los operadores
let numero = 10;
numero -= 2;
console.log(numero); // 8
let numero = 10;
numero *= 2;
console.log(numero); // 20
let numero = 20;
numero /= 2;
console.log(numero); // 10
  • El concepto es siempre el mismo y lo que cambia es la operación realizada

Operadores de comparación simple y estricta

Comparación Simple

  • Podemos comparar dos valores utilizando el operador == y obtener un valor boolean como resultado.
  • Este tipo de comparación se conoce como comparación simple ya que sólo compara si un valor es igual a otro
  • Al comparar 2 valores de distintos tipos podemos obtener que son el mismo valor sin importar que sean diferente tipo (ejemplo: comparar un string con un número)
  • Si los valores son iguales obtenemos true
  • En caso de que los valores sean distintos obtenemos el valor false
let numero1 = 20;
let numero2 = 20;
let numero3 = 10;
console.log(numero1 == numero2); //true
console.log(numero1 == numero3); //false
  • Comparamos sólo valores:
console.log(10 == '10'); //true
  • Ya que podemos comparar dos valores y saber si son iguales también podemos saber si son distintos utilizando el operador !=
let numero1 = 20;
let numero2 = 20;
let numero3 = 10;
console.log(numero1 != numero2); // false
console.log(numero1 != numero3); // true
  • Otra forma de comparar valores es saber si un valor es más grande que otro
  • Utilizamos el operador > para saber si el valor de la izquierda del operador es más grande que el valor de la derecha
let numero1 = 20;
let numero2 = 10;
console.log(numero1 > numero2); // true
  • También podemos saber si un valor es más chico que otro utilizando el operador <
let numero1 = 20;
let numero2 = 10;
console.log(numero2 < numero1); // true
  • En algunos casos necesitamos saber si un valor es más grande o igual que otro
  • Es decir que esta condición se va a transformar en verdadera en caso de que el valor de la izquierda sea más grande o el mismo valor que el de la derecha
let numero1 = 20;
let numero2 = 10;
let numero3 = 20;
console.log(numero1 >= numero2); // true
console.log(numero1 >= numero3); // true
  • Podemos hacer lo mismo para saber si es menor
let numero1 = 20;
let numero2 = 10;
let numero3 = 10;
console.log(numero2 <= numero1); // true
console.log(numero2 <= numero3); // true

Comparación Estrícta

  • La comparación estricta no solo compara el valor sino también el tipo de dato
  • Utilizamos el operador === para comparar si son el mismo tipo de dato y valor
  • Utilizamos el operador !== para comparar si son el distintos tipo de dato y valor
console.log(10 === '10'); // false
console.log(10 !== '10'); // true
console.log(10 !== '10'); // true
  • Los dos últimos casos da true ya que no importa el valor que tengan ambos valores son distintos tipo de dato

Operadores lógicos

  • Existen operadores lógicos que nos permiten anidar condicionales
  • Puedo saber si dos conciones son true utilizando el operador && conocido como and o en español como Y
  • Por ejemplo si queremos saber si el la edad del usuario es mayor de 18 años y si el password es el esperado lo podemos hacer de la siguiente manera
  • Para que este operador retorne true ambas condiciones deben ser verdaderas
let edad = 20;
let password = 'js1234';
let resultado = edad >= 18 && password ==='js1234';
console.log('resultado: ', resultado); // true
  • En este ejemplo obtenemos un valor de true ya que ambas condiciones (edad >= 18 y password === 'js1234') son verdaderas
  • Existe el operador || conocido como or u O en español que nos permite preguntar si al menos una de 2 condiciones es verdadera.
  • Si la primer condición es verdadera ya no evalúa la segunda ya que al menos una de las dos condiciones es verdadera
  • Caso de que la primer condición no sea verdadera va a comprobar si la segunda lo es
  • Si ninguna de las dos condiciones es verdadera retorna falso
  • Este operador retorna true si al menos una de las condiciones es verdadera
let edad = 20;
let password = 'js12345';
let resultado = edad >= 18 || password ==='js1234';
console.log('resultado: ', resultado); // true
  • En este caso la condición es verdadera ya que la edad del usuario es mayor a 18 y no importa si el password es igual o no
let edad = 10;
let password = 'js1234';
let resultado = edad >= 18 || password ==='js1234';
console.log('resultado: ', resultado); // true
  • En este caso el resultado es true ya que el usuario no es mayor de 18 pero el password es correcto
let edad = 10;
let password = 'js12345';
let resultado = edad >= 18 || password ==='js1234';
console.log('resultado: ', resultado); // false
  • En este caso la condición es false ya que ambas condiciones son falsas

Negación

  • Por medio del operador ! podemos negar una condición
  • Si tenemos un valor true negado obtenemos un valor false
  • Si tenemos un valor false negado obtenemos un valor true
console.log(!true); // false
console.log(!false); // true
  • Por ejemplo podemos utilizar la negación en el siguiente caso:
let edad = 21;
let resultado = edad < 18;
console.log('El usuario es mayor de edad?: ', !resultado); // la condición es false pero al negarla pasa a ser verdadera