TypeScript - Operadores
¿Qué es un operador?
Un operador define alguna función que se realizará en los datos. Los datos sobre los que trabajan los operadores se denominan operandos. Considere la siguiente expresión:
7 + 5 = 12
Aquí, los valores 7, 5 y 12 son operands, mientras que + y = son operators.
Los principales operadores en TypeScript se pueden clasificar como:
- Operadores aritméticos
- Operadores logicos
- Operadores relacionales
- Operadores bit a bit
- Operadores de Asignación
- Operador ternario / condicional
- Operador de cadena
- Operador de tipo
Operadores aritméticos
Suponga que los valores de las variables ayb son 10 y 5 respectivamente.
Operador | Descripción | Ejemplo |
---|---|---|
+ (Adición) | devuelve la suma de los operandos | a + b es 15 |
- (Resta) | devuelve la diferencia de los valores | a - b es 5 |
* (Multiplicación) | devuelve el producto de los valores | a * b es 50 |
/ (División) | realiza la operación de división y devuelve el cociente | a / b es 2 |
% (Módulo) | realiza la operación de división y devuelve el resto | a% b es 0 |
++ (Incremento) | Incrementa el valor de la variable en uno. | a ++ es 11 |
- (Decremento) | 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.
Operador | 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.
Operador | Descripción | Ejemplo |
---|---|---|
&& (Y) | El operador devuelve verdadero solo si todas las expresiones especificadas devuelven verdadero | (A> 10 && B> 10) es falso |
|| (O) | El operador devuelve verdadero si al menos una de las expresiones especificadas devuelve verdadero | (A> 10 || B> 10) es verdadero |
! (NO) | El operador devuelve el resultado inverso de la expresión. Por ejemplo:! (> 5) devuelve falso | ! (A> 10) es verdadero |
Operadores bit a bit
Suponga la variable A = 2 y B = 3
Operador | Descripción | Ejemplo |
---|---|---|
& (Bit a bit AND) | Realiza una operación booleana AND en cada bit de sus argumentos enteros. | (A y B) es 2 |
| (BitWise OR) | Realiza una operación booleana OR en cada bit de sus argumentos enteros. | (A | B) es 3 |
^ (XOR bit a bit) | Realiza una operación OR exclusiva booleana en cada bit de sus argumentos enteros. OR exclusivo significa que el operando uno es verdadero o el operando dos es verdadero, pero no ambos. | (A ^ B) es 1 |
~ (No bit a bit) | Es un operador unario y opera invirtiendo todos los bits del operando. | (~ B) es -4 |
<< (Mayús a la izquierda) | Mueve todos los bits de su primer operando a la izquierda el número de lugares especificado en el segundo operando. Los nuevos bits se llenan de ceros. Cambiar un valor a la izquierda en una posición equivale a multiplicarlo por 2, cambiar dos posiciones equivale a multiplicar por 4, y así sucesivamente. | (A << 1) es 4 |
>> (Mayús a la derecha) | Operador de cambio a la derecha binario. El valor del operando izquierdo se mueve hacia la derecha el número de bits especificado por el operando derecho. | (A >> 1) es 1 |
>>> (Desplazamiento a la derecha con cero) | Este operador es como el operador >>, excepto que los bits desplazados hacia la izquierda son siempre cero. | (A >>> 1) es 1 |
Operadores de Asignación
Operador | Descripción | Ejemplo |
---|---|---|
= (Asignación simple) | Asigna valores del operando del lado derecho al operando del lado izquierdo | C = A + B asignará el valor de A + B a C |
+ = (Agregar y Asignación) | Agrega el operando derecho al operando izquierdo y asigna el resultado al operando izquierdo. | C + = A es equivalente a C = C + A |
- = (Resta y asignación) | Resta el operando derecho del operando izquierdo y asigna el resultado al operando izquierdo. | C - = A es equivalente a C = C - A |
* = (Multiplicar y asignar) | Multiplica el operando derecho con el operando izquierdo y asigna el resultado al operando izquierdo. | C * = A es equivalente a C = C * A |
/ = (Dividir y asignar) | 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
El operador de negación (-)
Cambia el signo de un valor. Pongamos un ejemplo.
var x:number = 4
var y = -x;
console.log("value of x: ",x); //outputs 4
console.log("value of y: ",y); //outputs -4
Al compilar, generará el siguiente código JavaScript.
//Generated by typescript 1.8.10
var x = 4;
var y = -x;
console.log("value of x: ", x); //outputs 4
console.log("value of y: ", y); //outputs -4
Producirá la siguiente salida:
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 ejemplo nos ayuda a comprender este concepto.
var msg:string = "hello"+"world"
console.log(msg)
Al compilar, generará el siguiente código JavaScript.
//Generated by typescript 1.8.10
var msg = "hello" + "world";
console.log(msg);
Producirá la siguiente salida:
helloworld
La operación de concatenación no agrega un espacio entre 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. La sintaxis es la siguiente:
Test ? expr1 : expr2
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
Echemos un vistazo al siguiente código:
var num:number = -2
var result = num > 0 ?"positive":"non-positive"
console.log(result)
La línea 2 comprueba si el valor de la variable numes mayor que cero. Sinum se establece en un valor mayor que cero, devuelve la cadena "positiva", de lo contrario se devuelve la cadena "no positiva".
Al compilar, generará el siguiente código JavaScript.
//Generated by typescript 1.8.10
var num = -2;
var result = num > 0 ? "positive" : "non-positive";
console.log(result);
El fragmento de código anterior producirá el siguiente resultado:
non-positive
Operadores de tipo
tipo de operador
Es un operador unario. Este operador devuelve el tipo de datos del operando. Eche un vistazo al siguiente ejemplo:
var num = 12
console.log(typeof num); //output: number
Al compilar, generará el siguiente código JavaScript.
//Generated by typescript 1.8.10
var num = 12;
console.log(typeof num); //output: number
Producirá la siguiente salida:
number
en vez de
Este operador se puede utilizar para probar si un objeto es de un tipo específico o no. El uso deinstanceof operador se trata en el capítulo classes.