TypeScript - Operadores

O que é um operador?

Um operador define alguma função que será executada nos dados. Os dados com os quais os operadores trabalham são chamados de operandos. Considere a seguinte expressão -

7 + 5 = 12

Aqui, os valores 7, 5 e 12 são operands, enquanto + e = são operators.

Os principais operadores em TypeScript podem ser classificados como -

  • Operadores aritméticos
  • Operadores lógicos
  • Operadores relacionais
  • Operadores bit a bit
  • Operadores de atribuição
  • Operador ternário / condicional
  • Operador string
  • Operador de tipo

Operadores aritméticos

Suponha que os valores nas variáveis ​​aeb são 10 e 5, respectivamente.

Mostrar exemplos

Operador Descrição Exemplo
+ (Adição) retorna a soma dos operandos a + b é 15
- (Subtração) retorna a diferença dos valores a - b é 5
* (Multiplicação) retorna o produto dos valores a * b é 50
/ (Divisão) executa a operação de divisão e retorna o quociente a / b é 2
% (Módulo) executa a operação de divisão e retorna o resto a% b é 0
++ (incremento) Aumenta o valor da variável em um a ++ é 11
- (diminuir) Diminui o valor da variável em um a-- é 9

Operadores Relacionais

Operadores relacionais testam ou definem o tipo de relacionamento entre duas entidades. Os operadores relacionais retornam um valor booleano, ou seja, verdadeiro / falso.

Suponha que o valor de A seja 10 e B seja 20.

Mostrar exemplos

Operador Descrição Exemplo
> Maior que (A> B) é falso
< Menos do que (A <B) é verdadeiro
> = Melhor que ou igual a (A> = B) é falso
<= Menor ou igual a (A <= B) é verdadeiro
== Igualdade (A == B) é falso
! = Não igual (A! = B) é verdadeiro

Operadores lógicos

Operadores lógicos são usados ​​para combinar duas ou mais condições. Os operadores lógicos também retornam um valor booleano. Suponha que o valor da variável A seja 10 e B seja 20.

Mostrar exemplos

Operador Descrição Exemplo
&& (e) O operador retorna verdadeiro apenas se todas as expressões especificadas retornarem verdadeiro (A> 10 && B> 10) é False
|| (OU) O operador retorna verdadeiro se pelo menos uma das expressões especificadas retornar verdadeiro (A> 10 || B> 10) é verdadeiro
! (NÃO) O operador retorna o inverso do resultado da expressão. Por exemplo:! (> 5) retorna falso ! (A> 10) é verdadeiro

Operadores bit a bit

Suponha que a variável A = 2 e B = 3

Mostrar exemplos

Operador Descrição Exemplo
& (Bit a bit AND) Ele executa uma operação booleana AND em cada bit de seus argumentos inteiros. (A e B) é 2
| (BitWise OU) Ele executa uma operação booleana OR em cada bit de seus argumentos inteiros. (A | B) é 3
^ (XOR bit a bit) Ele executa uma operação booleana OU exclusiva em cada bit de seus argumentos inteiros. OU exclusivo significa que o operando um é verdadeiro ou o operando dois é verdadeiro, mas não ambos. (A ^ B) é 1
~ (Bit a bit não) É um operador unário e opera invertendo todos os bits do operando. (~ B) é -4
<< (Shift à esquerda) Ele move todos os bits em seu primeiro operando para a esquerda pelo número de casas especificado no segundo operando. Novos bits são preenchidos com zeros. Deslocar um valor para a esquerda em uma posição é equivalente a multiplicá-lo por 2, deslocar duas posições é equivalente a multiplicar por 4 e assim por diante. (A << 1) é 4
>> (Shift à direita) Operador binário de deslocamento à direita. O valor do operando esquerdo é movido para a direita pelo número de bits especificado pelo operando direito. (A >> 1) é 1
>>> (deslocamento à direita com zero) Esse operador é como o operador >>, exceto que os bits deslocados à esquerda são sempre zero. (A >>> 1) é 1

Operadores de atribuição

Mostrar exemplos

Operador Descrição Exemplo
= (Atribuição Simples) Atribui valores do operando do lado direito para o operando do lado esquerdo C = A + B irá atribuir o valor de A + B em C
+ = (Adicionar e Atribuição) Ele adiciona o operando direito ao operando esquerdo e atribui o resultado ao operando esquerdo. C + = A é equivalente a C = C + A
- = (Subtrair e Atribuição) Ele subtrai o operando direito do operando esquerdo e atribui o resultado ao operando esquerdo. C - = A é equivalente a C = C - A
* = (Multiplique e Atribuição) Ele multiplica o operando direito pelo operando esquerdo e atribui o resultado ao operando esquerdo. C * = A é equivalente a C = C * A
/ = (Divisão e Atribuição) Ele divide o operando esquerdo com o operando direito e atribui o resultado ao operando esquerdo.

Note - A mesma lógica se aplica aos operadores bit a bit, então eles se tornarão << =, >> =, >> =, & =, | = e ^ =.

Operadores diversos

O operador de negação (-)

Muda o sinal de um valor. Vamos dar um exemplo.

var x:number = 4 
var y = -x; 
console.log("value of x: ",x);   //outputs 4 
console.log("value of y: ",y);   //outputs -4

Na compilação, ele irá gerar o seguinte 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

Ele produzirá a seguinte saída -

value of x:  4 
value of y:  -4

Operadores de string: operador de concatenação (+)

O operador +, quando aplicado a strings, acrescenta a segunda string à primeira. O exemplo a seguir nos ajuda a entender esse conceito.

var msg:string = "hello"+"world" 
console.log(msg)

Na compilação, ele irá gerar o seguinte código JavaScript.

//Generated by typescript 1.8.10
var msg = "hello" + "world";
console.log(msg);

Ele produzirá a seguinte saída -

helloworld

A operação de concatenação não adiciona um espaço entre as strings. Várias strings podem ser concatenadas em uma única instrução.

Operador condicional (?)

Este operador é usado para representar uma expressão condicional. O operador condicional às vezes também é chamado de operador ternário. A sintaxe é a seguinte -

Test ? expr1 : expr2
  • Test - refere-se à expressão condicional

  • expr1 - valor retornado se a condição for verdadeira

  • expr2 - valor retornado se a condição for falsa

Vamos dar uma olhada no seguinte código -

var num:number = -2 
var result = num > 0 ?"positive":"non-positive" 
console.log(result)

A linha 2 verifica se o valor na variável numé maior que zero. E senum é definido com um valor maior que zero, ele retorna a string “positiva”, caso contrário, a string “não positiva” é retornada.

Na compilação, ele irá gerar o seguinte código JavaScript.

//Generated by typescript 1.8.10
var num = -2;
var result = num > 0 ? "positive" : "non-positive";
console.log(result);

O snippet de código acima produzirá a seguinte saída -

non-positive

Operadores de tipo

operador typeof

É um operador unário. Este operador retorna o tipo de dados do operando. Dê uma olhada no seguinte exemplo -

var num = 12 
console.log(typeof num);   //output: number

Na compilação, ele irá gerar o seguinte código JavaScript.

//Generated by typescript 1.8.10
var num = 12;
console.log(typeof num);   //output: number

Ele produzirá a seguinte saída -

number

instancia de

Este operador pode ser usado para testar se um objeto é de um tipo especificado ou não. O uso deinstanceof operador é discutido no capítulo classes.