Operadores
Clase 6 de 99 • 30 días de JavaScript
Contenido del curso
Clase 6 de 99 • 30 días de JavaScript
Contenido del curso
Los operadores son elementos de lenguaje que nos permiten realizar cálculos y comparaciones en JavaScript. Aquí hay una lista de los operadores más comunes:
Operadores aritméticos
Los operadores aritméticos nos permiten realizar operaciones matemáticas básicas, como la suma, la resta, la multiplicación y la división.
// Suma console.log(1 + 2); // 3 // Resta console.log(5 - 2); // 3 // Multiplicación console.log(3 * 4); // 12 // División console.log(10 / 2); // 5 // Módulo (devuelve el resto de una división) console.log(10 % 3); // 1
Operadores de asignación
Los operadores de asignación nos permiten asignar valores a variables.
let x = 10; x += 5; // x = x + 5 console.log(x); // 15 x -= 3; // x = x - 3 console.log(x); // 12 x *= 2; // x = x * 2 console.log(x); // 24 x /= 4; // x = x / 4 console.log(x); // 6
Operadores de comparación
Los operadores de comparación nos permiten comparar valores y nos devuelven true o false según el resultado de la comparación.
console.log(1 < 2); // true console.log(2 > 1); // true console.log(1 <= 2); // true console.log(2 >= 1); // true console.log(1 !== 2); // true
Entre estos existen 2 operadores de igualdad los cuales son == y ===. El primero realiza una comparación de valor y el segundo, además de comparar el valor, también verifica el tipo de dato. Es recomendable utilizar siempre === ya que, en un lenguaje como JavaScript, que es debilmente tipado, comparar solo el valor puede llevar a resultados inesperados.
Ejemplo
console.log(1 == "1") // true console.log(1 === "1") // false
En el primer caso, 1 == "1" devuelve true ya que solo se está comparando el valor y no el tipo de dato. Sin embargo, en el segundo caso, 1 === "1" devuelve false ya que está comparando tanto el valor como el tipo de dato y, aunque ambos son iguales, uno es de tipo número y el otro de tipo string.
Operadores lógicos
Los operadores lógicos son aquellos que nos permiten realizar operaciones lógicas, es decir, comparaciones y evaluaciones. En JavaScript tenemos disponibles los siguientes operadores lógicos:
true, de lo contrario, devuelve false. Por ejemplo:let edad = 25; let mayorDeEdad = edad >= 18; if (edad >= 18 && mayorDeEdad) { console.log("Eres mayor de edad"); } else { console.log("Aún eres menor de edad"); }
true, de lo contrario, devuelve false. Por ejemplo:Copy code let edad = 25; let tieneIdentificacion = true; if (edad >= 18 || tieneIdentificacion) { console.log("Puedes entrar al bar"); } else { console.log("No tienes la edad o la identificación suficiente para entrar al bar"); }
false, de lo contrario, devuelve true. Por ejemplo:let esFinDeSemana = true; if (!esFinDeSemana) { console.log("A trabajar"); } else { console.log("A disfrutar del fin de semana"); }
Todo esto y más lo puedes aprender en el curso Curso Básico de JavaScript
Luis Castro
Federico Guillermo Moreira Tejera
Juliette Villarroel
Julián Ricardo Vásquez Novoa
Ricardo Alfonso Chavez Vilcapoma
JOSE GUILLERMO VÁSQUEZ BENITEZ
Obed Tzay
Marcelo Haro
Alejandra Sarahí Monroy Vélazquez
Carlos García García
Alejandra Sarahí Monroy Vélazquez
Jose Carlos Machado
David Rosas
Carlos Andrade
Ricardo Alfonso Chavez Vilcapoma
Kevin Tisoy
Marcelo Haro
Sergio Luis Arango Montes
Aquí te dejo algunos datos curiosos sobre los operadores en JavaScript:
.
strings. Por ejemplo, "Hola" + "Mundo" devuelve "HolaMundo".
.== en JavaScript compara los valores de dos variables, no los tipos de datos. Por lo tanto, "1" == 1 es true en JavaScript.
.===. Por ejemplo, "1" === 1 es false en JavaScript.
.? es un atajo para escribir una sentencia if-else en una sola línea. Por ejemplo, la siguiente línea de código asignará el valor de "Hombre" o "Mujer" a la variable gender en función del valor de la variable isMale:
var gender = isMale ? "Hombre" : "Mujer";
.bits a nivel de bits individuales en números enteros. Estos operadores incluyen AND (&), OR (|), XOR (^) y NOT (~).
.++ y decremento --, que se utilizan para aumentar o disminuir el valor de una variable en 1. Estos operadores pueden colocarse antes o después de la variable y tienen diferentes efectos en el valor de la variable y la expresión en la que se utilizan.Muy buen aporte. Gracias por compartir
muy cool tu aportee
En el ejemplo del operador OR, si dejamos 10 años de edad y que efectivamente tiene identificación, el niño SI podría entrar al bar hahahaha 😱
Lo mejor sería no tener esta validación en una página o plataforma real 🤣
Bar del siglo XXI 😋😂
creo que hay un error en el ejemplo de -= ya que el retorno de la consola es 7 no 12
let x = 10; x -= 3; // x = x - 3 =10-3 console.log(x); // 7
igual en el segundo ejemplo
let x = 10; x *= 2; // x = x * 2 = 10 * 2 console.log(x); // 20
y tercero
x /= 4; // x = x / 4 =10 /4=5 console.log(x); // 5
Lo que pasa es que antes hay una suma de 5. Por lo tanto cuando hace la resta de 15 - 3, esto es igual a 12.
Observe lo mismo, tienes razón, a la vez comprendo que también los valores son acumulativos al haber una operación anterior, pero lo realmente correcto es que sea 7
Podrían explicarme a detalle para que servirían los operadores & y | específicamente en JavaScript? OJO: Pregunto por solo el operador puesto una vez, no doble como ya lo vimos en este articulo. Gracias!
Hola, Alejandra, encontré esto. Espero te sea de utilidad. . & is bitwise AND . This operator is almost never used in JavaScript. Other programming languages (like C and Java) use it for performance reasons or to work with binary data. In JavaScript, it has questionable performance, and we rarely work with binary data. . This operator expects two numbers and retuns a number. In case they are not numbers, they are cast to numbers. . Fuente: What's the difference between & and && in JavaScript?
Muchas gracias Carlos, justo ya antes había leído esa pagina, y he ocupado estos operadores en C, pero mi pregunta iba dirigida a JavaScript porque no he encontrado mucha info y recientemente en una capacitación de la empresa en la que trabajo nos hicieron esa pregunta 😃
El AND(&&) también se puede usar para ejecutar una expresión si la evaluación retorna true, por ejemplo:
true && console.log("Ejecute console.log") 2==2 && console.log("Es true!");
Es un error la asignacion que se hizo en el AND (&&)?
let mayorDeEdad = edad >= 18;
Me embarullé. Conozco el operador pero creo que hay ejemplos mas simples.
6/80 Operadores
Operadores Aritmeticos
Se usan para realizar operaciones matemá´ticas básicas como la suma, resta, la multiplicación, la división y el módulo.
Suma:
let a = 5; let b = 7; let suma = a + b; console.log(suma); // 12
Resta:
let a = 10; let b = 4; let resta = a - b; console.log(resta); // 6
Multiplicación:
let a = 3; let b = 5; let multiplicacion = a * b; console.log(multiplicacion); // 15
División:
let a = 10; let b = 2; let division = a / b; console.log(division); // 5
Módulo:
let a = 11; let b = 3; let resto = a % b; console.log(resto); // 2
Operadores Asignación
Permiten asignar valores a variables de manera más compacta y eficiente. Estos operadores se combinan con los operadores aritmeticos. Para realizar una operación y asignar el resultado a la variable.
Operador de asignación básico =
el operador de asiganción básico se utiliza para asignar un valor a una variable
let a = 5; console.log(a); // 5
Operador de asignación de suma +=
El operador de asignación de suma se utiliza para sumar un valor a una variable y asignar el resultado a la misma variable.
let a = 10; a += 5; console.log(a); // 15
Operador de asiganción de resta -=
El operador de asignación de resta se utiliza para restar un valor a una varaible y asignar el resultado a la misma variable.
let a = 20; a -= 7; console.log(a); // 13
*Operador de asiganción de multiplicación =
El operador de asignación de multiplicación se utiliza para multiplicar un valor a una variable y asignar el resutlado a la misma variable.
let a = 3; a *= 4; console.log(a); // 12
Operador de asignación de división /=
El operador de asiganción de división se utiliza para dividir un valor a una variable y asignar el resultado a la misma variable.
let a = 24; a /= 3; console.log(a); // 8
Operadores de Comparación
Nos permiten comparar valores y obtener un resultado booleano true or false segun el resultado de la comparación
Operador de menor que <
El operador de menor que se utiliza para comprar si el valor de la izquierda es menor que el valor de la derecha
console.log(5 < 10); // true
Operador de mayor que >
El operador de mayor que se utiliza para comparar su el valor de la izquierda es mayor que el valor de la derecha
console.log(10 > 5); // true
Operador menor o igual que ≤
El operador menor o igual que se utiliza para comparar si el valor de la izquierda es menor o igual que el valor de la derecha
console.log(5 <= 5); // true
Operador mayor o igual que ≥
El operador mayor o igual que se utiliza para comparar si el valor de la izquierda es mayor o igual que el valor de la derecha.
console.log(10 >= 10); // true
Operador de no igual que ≠=
EL operador de no igual que se utiliza para comparar si el valor de la izquierda es diferente al valor de la derecha, tanto en valor como en tipo de dato.
console.log(1 !== "1"); // true
Operador de igualdad == y ===
El primero solo compara el valor, y el segundo además de comparar el valor tambien verifica el tipo de dato. Se recomienda usar más el === para evitar resultados inesperados.
Operadores lógicos
Los operadores lógicos son utilizados para realizar operaciones lógicas en JavaScript.
El operador && AND, devuelve TRUE si ambas expresiones son verdaderas.
let edad = 25; let mayorDeEdad = edad >= 18; if (edad >= 18 && mayorDeEdad) { console.log("Eres mayor de edad"); } else { console.log("Aún eres menor de edad"); }
El operador || OR, devuelve TRUE si al menos una de las expresiones es verdadera.
let edad = 25; let tieneIdentificacion = true; if (edad >= 18 || tieneIdentificacion) { console.log("Puedes entrar al bar"); } else { console.log("No tienes la edad o la identificación suficiente para entrar al bar"); }
El operador ! NOT, invierte el valor de una expresión
let esFinDeSemana = true; if (!esFinDeSemana) { console.log("A trabajar"); } else { console.log("A disfrutar del fin de semana"); }
Para que se entienda los operadores lógicos, aquí dejo las tablas de verdad en las que se basan...conjunción y disyunción.
//AND(&&) let e_dad = 25; let mayorDeEdad = e_dad >= 18;
if (e_dad >= 18 && mayorDeEdad) { console.log("Eres mayor de edad"); } else { console.log("Aún no eres mayor de edad"); }
// OR(||) let e_Dad = 25; let tieneIdentificacion = true;
if (e_Dad >= 18 || tieneIdentificacion) { console.log("Puedes entrar al bar"); } else { console.log("No tienes la edad o la identificación suficiente para entrar al bar"); }
//NOT(!) let esFinDeSemana = true;
if (!esFinDeSemana) { console.log("A trabajar"); } else { console.log("A disfrutar del fin de semana"); }
let x = 10;
x -= 3; // x = x - 3 console.log(x); // 12
La respuesta debería ser 7 y no un valor acumulativo por la operación anterior
Misma solucion pero en una funcion y usando un operador ternario.
let edad = 25; let mayorDeEdad = edad >= 18; function esMayorDeEdad (edad, mayorDeEdad) { return edad >= 18 && mayorDeEdad ? "Eres mayor de edad" : "Aún eres menor de edad"; } console.log( esMayorDeEdad(edad, mayorDeEdad) );
Para mas informacion: https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Operators/Conditional_Operator