ES6 - Operadores

A expressioné um tipo especial de declaração que avalia um valor. Cada expressão é composta por -

  • Operands - Representa os dados.

  • Operator - Define como os operandos serão processados ​​para produzir um valor.

Considere a seguinte expressão - 2 + 3. Aqui na expressão, 2 e 3 são operandos e o símbolo + (mais) é o operador. JavaScript suporta os seguintes tipos de operadores -

  • Operadores aritméticos
  • Operadores lógicos
  • Operadores relacionais
  • Operadores bit a bit
  • Operadores de atribuição
  • Operadores ternários / condicionais
  • Operadores de string
  • Operadores de tipo
  • O operador void

Operadores aritméticos

Assuma os valores nas variáveis a e b são 10 e 5, respectivamente.

Mostrar exemplos

Operador Função Exemplo
+ Addition

Retorna a soma dos operandos.

a + b é 15
- Subtraction

Retorna a diferença dos valores.

ab é 5
* Multiplication

Retorna o produto dos valores.

a * b é 50
/ Division

Executa uma operação de divisão e retorna o quociente.

a / b é 2
% Modulus

Executa uma divisão e retorna o restante.

a% b é 0
++ Increment

Aumenta o valor da variável em um.

a ++ é 11
- Decrement

Diminui o valor da variável em um.

a-- é 9

Operadores Relacionais

Os 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

Operadores 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

Os 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 .

Operadores Descrição Exemplo
&& And

O operador retorna verdadeiro apenas se todas as expressões especificadas retornarem verdadeiras.

(A> 10 && B> 10) é False
|| Or

O operador retorna verdadeiro se pelo menos uma das expressões especificadas retornar verdadeiro.

(A> 10 || B> 10) é verdadeiro
! Not

O operador retorna o inverso do resultado da expressão. Por exemplo:! (7> 5) retorna falso.

! (A> 10) é verdadeiro

Operadores bit a bit

JavaScript oferece suporte aos seguintes operadores bit a bit. A tabela a seguir resume os operadores bit a bit do JavaScript.

Mostrar exemplos .

Operadores Uso Descrição
E bit a bit a e b Devolve um em cada posição de bit para os quais os bits correspondentes de ambos os operandos são uns
OR bit a bit a | b Devolve um em cada posição de bit para os quais os bits correspondentes de um ou de ambos os operandos são uns
XOR bit a bit a ^ b Devolve um em cada posição de bit para o qual os bits correspondentes de um, mas não de ambos os operandos são uns
NÃO bit a bit ~ a Inverte os bits do seu operando
Desvio à esquerda a << b Desloca a na representação binária b (<32) bits para a esquerda, deslocando em zeros da direita
Mudança à direita de propagação de sinal a >> b Desloca a na representação binária b (<32) bits para a direita, descartando os bits deslocados
Zero-fill turno à direita a >>> b Muda a na representação binária b (<32) bits para a direita, descartando bits deslocados e deslocando em zeros da esquerda

Operadores de atribuição

A tabela a seguir resume os operadores de atribuição.

Mostrar exemplos .

Sr. Não Operador e descrição
1

= (Simple Assignment)

Atribui valores do operando do lado direito para o operando do lado esquerdo.

Example - C = A + B irá atribuir o valor de A + B em C

2

+= (Add and Assignment)

Ele adiciona o operando direito ao operando esquerdo e atribui o resultado ao operando esquerdo.

Example - C + = A é equivalente a C = C + A

3

-= (Subtract and Assignment)

Ele subtrai o operando direito do operando esquerdo e atribui o resultado ao operando esquerdo.

Example C - = A é equivalente a C = C - A

4

*= (Multiply and Assignment)

Ele multiplica o operando direito pelo operando esquerdo e atribui o resultado ao operando esquerdo.

Example C * = A é equivalente a C = C * A

5

/= (Divide and Assignment)

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

A seguir estão alguns dos diversos operadores.

O operador de negação (-)

Muda o sinal de um valor. O programa a seguir é um exemplo do mesmo.

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

A seguinte saída é exibida na execução bem-sucedida do programa acima.

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 programa a seguir ajuda a entender esse conceito.

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

A seguinte saída é exibida na execução bem-sucedida do programa acima.

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 seguir está a sintaxe.

Test ? expr1 : expr2

Onde,

Test - Refere-se à expressão condicional

expr1 - Valor retornado se a condição for verdadeira

expr2 - Valor retornado se a condição for falsa

Example

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

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

A seguinte saída é exibida na execução bem-sucedida do programa acima.

non-positive

operador typeof

É um operador unário. Este operador retorna o tipo de dados do operando. A tabela a seguir lista os tipos de dados e os valores retornados pelotypeof operador em JavaScript.

Tipo String retornada por typeof
Número "número"
Corda "corda"
boleano "boleano"
Objeto "objeto"

O código de exemplo a seguir exibe o número como saída.

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

A seguinte saída é exibida na execução bem-sucedida do código acima.

number

Operador Spread

ES6 fornece um novo operador chamado spread operator. O operador de propagação é representado por três pontos “...”. O operador spread converte uma matriz em elementos individuais da matriz.

Operador de propagação e função

O exemplo a seguir ilustra o uso de operadores de propagação em uma função

<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>

A saída do código acima será como visto abaixo -

sum is : 60
sum is 6

Operador de propagação e cópia de matriz e concat

O operador de propagação pode ser usado para copiar uma matriz em outra. Também pode ser usado para concatenar dois ou mais arrays. Isso é mostrado no exemplo abaixo -

Exemplo

<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>

A saída do código acima será conforme indicado abaixo -

[10, 20, 30]
[10, 20, 30, 40, 50, 60]

Spread Operator e Object copy e concatenação

O operador de propagação pode ser usado para copiar um objeto para outro. Também pode ser usado para concatenar dois ou mais objetos. Isso é mostrado no exemplo abaixo -

<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>

A saída do código acima será conforme fornecido abaixo -

{firstName: "Mohtashim", company: "TutorialsPoint"}
{firstName: "Mohtashim", company: "TutorialsPoint", lastName: "Mohammad"}