ES6 - Operadores
Un expressiones un tipo especial de declaración que se evalúa como un valor. Cada expresión se compone de:
Operands - Representa los datos.
Operator - Define cómo se procesarán los operandos para producir un valor.
Considere la siguiente expresión - 2 + 3. Aquí en la expresión, 2 y 3 son operandos y el símbolo + (más) es el operador. JavaScript admite los siguientes tipos de operadores:
- Operadores aritméticos
- Operadores logicos
- Operadores relacionales
- Operadores bit a bit
- Operadores de Asignación
- Operadores ternarios / condicionales
- Operadores de cadena
- Operadores de tipo
- El operador del vacío
Operadores aritméticos
Asume los valores en variables a y b son 10 y 5 respectivamente.
Operador | Función | Ejemplo |
---|---|---|
+ | Addition
Devuelve la suma de los operandos. |
a + b es 15 |
- | Subtraction
Devuelve la diferencia de los valores. |
ab es 5 |
* | Multiplication
Devuelve el producto de los valores. |
a * b es 50 |
/ | Division
Realiza una operación de división y devuelve el cociente. |
a / b es 2 |
% | Modulus
Realiza una división y devuelve el resto. |
a% b es 0 |
++ | Increment
Incrementa el valor de la variable en uno. |
a ++ es 11 |
- | Decrement
Disminuye el valor de la variable en uno. |
a-- es 9 |
Operadores relacionales
Los operadores relacionales prueban o definen el tipo de relación entre dos entidades. Los operadores relacionales devuelven un valor booleano, es decir, verdadero / falso.
Suponga que el valor de A es 10 y B es 20.
Operadores | Descripción | Ejemplo |
---|---|---|
> | Mas grande que | (A> B) es falso |
< | Menor que | (A <B) es verdadero |
> = | Mayor qué o igual a | (A> = B) es falso |
<= | Menor o igual a | (A <= B) es verdadero |
== | Igualdad | (A == B) es falso |
! = | No es igual | (A! = B) es verdadero |
Operadores logicos
Los operadores lógicos se utilizan para combinar dos o más condiciones. Los operadores lógicos también devuelven un valor booleano. Suponga que el valor de la variable A es 10 y B es 20.
Operadores | Descripción | Ejemplo |
---|---|---|
&& |
And
El operador devuelve verdadero solo si todas las expresiones especificadas devuelven verdadero. |
(A> 10 && B> 10) es falso |
|| |
Or
El operador devuelve verdadero si al menos una de las expresiones especificadas devuelve verdadero. |
(A> 10 || B> 10) es verdadero |
! |
Not
El operador devuelve el resultado inverso de la expresión. Por ejemplo:! (7> 5) devuelve falso. |
! (A> 10) es verdadero |
Operadores bit a bit
JavaScript admite los siguientes operadores bit a bit. La siguiente tabla resume los operadores bit a bit de JavaScript.
Operadores | Uso | Descripción |
---|---|---|
Y bit a bit | a & b | Devuelve un uno en cada posición de bit para el que los bits correspondientes de ambos operandos son unos |
O bit a bit | a | segundo | Devuelve uno en cada posición de bit para el que los bits correspondientes de uno o ambos operandos son unos |
XOR bit a bit | a ^ b | Devuelve un uno en cada posición de bit para el que los bits correspondientes de uno de los operandos, pero no de ambos, son unos |
Bit a bit NO | ~ a | Invierte los bits de su operando |
Shift izquierdo | a << b | Desplaza a en representación binaria b (<32) bits hacia la izquierda, cambiando a ceros desde la derecha |
Desplazamiento a la derecha que propaga la señal | a >> b | Desplaza a en representación binaria b (<32) bits a la derecha, descartando los bits desplazados |
Desplazamiento a la derecha de llenado cero | a >>> b | Desplaza a en representación binaria b (<32) bits a la derecha, descartando los bits desplazados y desplazando ceros desde la izquierda |
Operadores de Asignación
La siguiente tabla resume los operadores de asignación.
No Señor | Operador y descripción |
---|---|
1 |
= (Simple Assignment) Asigna valores del operando del lado derecho al operando del lado izquierdo. Example - C = A + B asignará el valor de A + B a C |
2 |
+= (Add and Assignment) Agrega el operando derecho al operando izquierdo y asigna el resultado al operando izquierdo. Example - C + = A es equivalente a C = C + A |
3 |
-= (Subtract and Assignment) Resta el operando derecho del operando izquierdo y asigna el resultado al operando izquierdo. Example C - = A es equivalente a C = C - A |
4 |
*= (Multiply and Assignment) Multiplica el operando derecho con el operando izquierdo y asigna el resultado al operando izquierdo. Example C * = A es equivalente a C = C * A |
5 |
/= (Divide and Assignment) Divide el operando izquierdo con el operando derecho y asigna el resultado al operando izquierdo. |
Note - La misma lógica se aplica a los operadores bit a bit, por lo que se convertirán en << =, >> =, >> =, & =, | = y ^ =.
Operadores varios
A continuación se muestran algunos de los operadores diversos.
El operador de negación (-)
Cambia el signo de un valor. El siguiente programa es un ejemplo del mismo.
var x = 4
var y = -x;
console.log("value of x: ",x); //outputs 4
console.log("value of y: ",y); //outputs -4
La siguiente salida se muestra en la ejecución exitosa del programa anterior.
value of x: 4
value of y: -4
Operadores de cadenas: operador de concatenación (+)
El operador + cuando se aplica a cadenas agrega la segunda cadena a la primera. El siguiente programa ayuda a comprender este concepto.
var msg = "hello"+"world"
console.log(msg)
La siguiente salida se muestra en la ejecución exitosa del programa anterior.
helloworld
La operación de concatenación no agrega un espacio entre las cadenas. Se pueden concatenar varias cadenas en una sola declaración.
Operador condicional (?)
Este operador se usa para representar una expresión condicional. El operador condicional también se denomina a veces operador ternario. A continuación se muestra la sintaxis.
Test ? expr1 : expr2
Dónde,
Test - Se refiere a la expresión condicional.
expr1 - Valor devuelto si la condición es verdadera
expr2 - Valor devuelto si la condición es falsa
Example
var num = -2
var result = num > 0 ?"positive":"non-positive"
console.log(result)
La línea 2 comprueba si el valor de la variable num es mayor que cero. Si num se establece en un valor mayor que cero, devuelve la cadena "positiva"; de lo contrario, se devuelve una cadena "no positiva".
La siguiente salida se muestra en la ejecución exitosa del programa anterior.
non-positive
tipo de operador
Es un operador unario. Este operador devuelve el tipo de datos del operando. La siguiente tabla enumera los tipos de datos y los valores devueltos portypeof operador en JavaScript.
Tipo | Cadena devuelta por typeof |
---|---|
Número | "número" |
Cuerda | "cuerda" |
Booleano | "booleano" |
Objeto | "objeto" |
El siguiente código de ejemplo muestra el número como resultado.
var num = 12
console.log(typeof num); //output: number
La siguiente salida se muestra en la ejecución exitosa del código anterior.
number
Operador de propagación
ES6 proporciona un nuevo operador llamado spread operator. El operador de propagación está representado por tres puntos “...”. El operador de propagación convierte una matriz en elementos de matriz individuales.
Operador y función de difusión
El siguiente ejemplo ilustra el uso de operadores de propagación en una función.
<script>
function addThreeNumbers(a,b,c){
return a+b+c;
}
const arr = [10,20,30]
console.log('sum is :',addThreeNumbers(...arr))
console.log('sum is ',addThreeNumbers(...[1,2,3]))
</script>
La salida del código anterior será como se ve a continuación:
sum is : 60
sum is 6
Operador de propagación y copia de matriz y concat.
El operador de propagación se puede utilizar para copiar una matriz en otra. También se puede utilizar para concatenar dos o más matrices. Esto se muestra en el siguiente ejemplo:
Ejemplo
<script>
//copy array using spread operator
let source_arr = [10,20,30]
let dest_arr = [...source_arr]
console.log(dest_arr)
//concatenate two arrays
let arr1 = [10,20,30]
let arr2 =[40,50,60]
let arr3 = [...arr1,...arr2]
console.log(arr3)
</script>
La salida del código anterior será como se indica a continuación:
[10, 20, 30]
[10, 20, 30, 40, 50, 60]
Operador de propagación y copia y concatenación de objetos
El operador de propagación se puede utilizar para copiar un objeto en otro. También se puede utilizar para concatenar dos o más objetos. Esto se muestra en el siguiente ejemplo:
<script>
//copy object
let student1 ={firstName:'Mohtashim',company:'TutorialsPoint'}
let student2 ={...student1}
console.log(student2)
//concatenate objects
let student3 = {lastName:'Mohammad'}
let student4 = {...student1,...student3}
console.log(student4)
</script>
La salida del código anterior será como se indica a continuación:
{firstName: "Mohtashim", company: "TutorialsPoint"}
{firstName: "Mohtashim", company: "TutorialsPoint", lastName: "Mohammad"}