JavaScript - Operadores

O que é um operador?

Vamos dar uma expressão simples 4 + 5 is equal to 9. Aqui 4 e 5 são chamadosoperands e '+' é chamado de operator. JavaScript oferece suporte aos seguintes tipos de operadores.

  • Operadores aritméticos
  • Operadores de comparação
  • Operadores lógicos (ou relacionais)
  • Operadores de atribuição
  • Operadores condicionais (ou ternários)

Vamos dar uma olhada em todos os operadores, um por um.

Operadores aritméticos

JavaScript suporta os seguintes operadores aritméticos -

Suponha que a variável A tenha 10 e a variável B tenha 20, então -

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

+ (Addition)

Adiciona dois operandos

Ex: A + B dará 30

2

- (Subtraction)

Subtrai o segundo operando do primeiro

Ex: A - B dará -10

3

* (Multiplication)

Multiplique os dois operandos

Ex: A * B dará 200

4

/ (Division)

Divida o numerador pelo denominador

Ex: B / A dará 2

5

% (Modulus)

Produz o resto de uma divisão inteira

Ex: B% A dará 0

6

++ (Increment)

Aumenta um valor inteiro em um

Ex: A ++ dará 11

7

-- (Decrement)

Diminui um valor inteiro em um

Ex: A-- dará 9

Note- O operador de adição (+) funciona para Numeric e também para Strings. por exemplo, "a" + 10 resultará em "a10".

Exemplo

O código a seguir mostra como usar operadores aritméticos em JavaScript.

<html>
   <body>
   
      <script type = "text/javascript">
         <!--
            var a = 33;
            var b = 10;
            var c = "Test";
            var linebreak = "<br />";
         
            document.write("a + b = ");
            result = a + b;
            document.write(result);
            document.write(linebreak);
         
            document.write("a - b = ");
            result = a - b;
            document.write(result);
            document.write(linebreak);
         
            document.write("a / b = ");
            result = a / b;
            document.write(result);
            document.write(linebreak);
         
            document.write("a % b = ");
            result = a % b;
            document.write(result);
            document.write(linebreak);
         
            document.write("a + b + c = ");
            result = a + b + c;
            document.write(result);
            document.write(linebreak);
         
            a = ++a;
            document.write("++a = ");
            result = ++a;
            document.write(result);
            document.write(linebreak);
         
            b = --b;
            document.write("--b = ");
            result = --b;
            document.write(result);
            document.write(linebreak);
         //-->
      </script>
      
      Set the variables to different values and then try...
   </body>
</html>

Resultado

a + b = 43
a - b = 23
a / b = 3.3
a % b = 3
a + b + c = 43Test
++a = 35
--b = 8
Set the variables to different values and then try...

Operadores de comparação

JavaScript suporta os seguintes operadores de comparação -

Suponha que a variável A tenha 10 e a variável B tenha 20, então -

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

= = (Equal)

Verifica se os valores dos dois operandos são iguais ou não, caso positivo a condição torna-se verdadeira.

Ex: (A == B) não é verdade.

2

!= (Not Equal)

Verifica se o valor de dois operandos são iguais ou não, se os valores não são iguais, a condição torna-se verdadeira.

Ex: (A! = B) é verdade.

3

> (Greater than)

Verifica se o valor do operando esquerdo é maior que o valor do operando direito, se sim, a condição se torna verdadeira.

Ex: (A> B) não é verdade.

4

< (Less than)

Verifica se o valor do operando esquerdo é menor que o valor do operando direito, se sim, a condição torna-se verdadeira.

Ex: (A <B) é verdade.

5

>= (Greater than or Equal to)

Verifica se o valor do operando esquerdo é maior ou igual ao valor do operando direito, se sim, a condição se torna verdadeira.

Ex: (A> = B) não é verdade.

6

<= (Less than or Equal to)

Verifica se o valor do operando esquerdo é menor ou igual ao valor do operando direito, se sim, a condição se torna verdadeira.

Ex: (A <= B) é verdadeiro.

Exemplo

O código a seguir mostra como usar operadores de comparação em JavaScript.

<html>
   <body>  
      <script type = "text/javascript">
         <!--
            var a = 10;
            var b = 20;
            var linebreak = "<br />";
      
            document.write("(a == b) => ");
            result = (a == b);
            document.write(result);
            document.write(linebreak);
         
            document.write("(a < b) => ");
            result = (a < b);
            document.write(result);
            document.write(linebreak);
         
            document.write("(a > b) => ");
            result = (a > b);
            document.write(result);
            document.write(linebreak);
         
            document.write("(a != b) => ");
            result = (a != b);
            document.write(result);
            document.write(linebreak);
         
            document.write("(a >= b) => ");
            result = (a >= b);
            document.write(result);
            document.write(linebreak);
         
            document.write("(a <= b) => ");
            result = (a <= b);
            document.write(result);
            document.write(linebreak);
         //-->
      </script>      
      Set the variables to different values and different operators and then try...
   </body>
</html>

Resultado

(a == b) => false 
(a < b) => true 
(a > b) => false 
(a != b) => true 
(a >= b) => false 
a <= b) => true
Set the variables to different values and different operators and then try...

Operadores lógicos

JavaScript suporta os seguintes operadores lógicos -

Suponha que a variável A tenha 10 e a variável B tenha 20, então -

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

&& (Logical AND)

Se ambos os operandos forem diferentes de zero, a condição se torna verdadeira.

Ex: (A && B) é verdade.

2

|| (Logical OR)

Se qualquer um dos dois operandos for diferente de zero, a condição se torna verdadeira.

Ex: (A || B) é verdade.

3

! (Logical NOT)

Reverte o estado lógico de seu operando. Se uma condição for verdadeira, o operador lógico NOT a tornará falsa.

Ex:! (A && B) é falso.

Exemplo

Experimente o código a seguir para aprender como implementar operadores lógicos em JavaScript.

<html>
   <body>   
      <script type = "text/javascript">
         <!--
            var a = true;
            var b = false;
            var linebreak = "<br />";
      
            document.write("(a && b) => ");
            result = (a && b);
            document.write(result);
            document.write(linebreak);
         
            document.write("(a || b) => ");
            result = (a || b);
            document.write(result);
            document.write(linebreak);
         
            document.write("!(a && b) => ");
            result = (!(a && b));
            document.write(result);
            document.write(linebreak);
         //-->
      </script>      
      <p>Set the variables to different values and different operators and then try...</p>
   </body>
</html>

Resultado

(a && b) => false 
(a || b) => true 
!(a && b) => true
Set the variables to different values and different operators and then try...

Operadores bit a bit

JavaScript suporta os seguintes operadores bit a bit -

Suponha que a variável A tenha 2 e a variável B tenha 3, então -

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

& (Bitwise AND)

Ele executa uma operação booleana AND em cada bit de seus argumentos inteiros.

Ex: (A e B) é 2.

2

| (BitWise OR)

Ele executa uma operação booleana OR em cada bit de seus argumentos inteiros.

Ex: (A | B) é 3.

3

^ (Bitwise XOR)

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.

Ex: (A ^ B) é 1.

4

~ (Bitwise Not)

É um operador unário e opera invertendo todos os bits do operando.

Ex: (~ B) é -4.

5

<< (Left Shift)

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.

Ex: (A << 1) é 4.

6

>> (Right Shift)

Operador binário de deslocamento à direita. O valor do operando esquerdo é movido para a direita pelo número de bits especificado pelo operando direito.

Ex: (A >> 1) é 1.

7

>>> (Right shift with Zero)

Este operador é como o operador >>, exceto que os bits deslocados à esquerda são sempre zero.

Ex: (A >>> 1) é 1.

Exemplo

Experimente o código a seguir para implementar o operador Bitwise em JavaScript.

<html>
   <body>   
      <script type = "text/javascript">
         <!--
            var a = 2; // Bit presentation 10
            var b = 3; // Bit presentation 11
            var linebreak = "<br />";
         
            document.write("(a & b) => ");
            result = (a & b);
            document.write(result);
            document.write(linebreak);
         
            document.write("(a | b) => ");
            result = (a | b);
            document.write(result);
            document.write(linebreak);
         
            document.write("(a ^ b) => ");
            result = (a ^ b);
            document.write(result);
            document.write(linebreak);
         
            document.write("(~b) => ");
            result = (~b);
            document.write(result);
            document.write(linebreak);
         
            document.write("(a << b) => ");
            result = (a << b);
            document.write(result);
            document.write(linebreak);
         
            document.write("(a >> b) => ");
            result = (a >> b);
            document.write(result);
            document.write(linebreak);
         //-->
      </script>      
      <p>Set the variables to different values and different operators and then try...</p>
   </body>
</html>
(a & b) => 2 
(a | b) => 3 
(a ^ b) => 1 
(~b) => -4 
(a << b) => 16 
(a >> b) => 0
Set the variables to different values and different operators and then try...

Operadores de atribuição

JavaScript suporta os seguintes operadores de atribuição -

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

= (Simple Assignment )

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

Ex: 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.

Ex: 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.

Ex: 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.

Ex: 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.

Ex: C / = A é equivalente a C = C / A

6

%= (Modules and Assignment)

Leva o módulo usando dois operandos e atribui o resultado ao operando esquerdo.

Ex: C% = A é equivalente a C = C% A

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

Exemplo

Tente o seguinte código para implementar o operador de atribuição em JavaScript.

<html>
   <body>   
      <script type = "text/javascript">
         <!--
            var a = 33;
            var b = 10;
            var linebreak = "<br />";
         
            document.write("Value of a => (a = b) => ");
            result = (a = b);
            document.write(result);
            document.write(linebreak);
         
            document.write("Value of a => (a += b) => ");
            result = (a += b);
            document.write(result);
            document.write(linebreak);
         
            document.write("Value of a => (a -= b) => ");
            result = (a -= b);
            document.write(result);
            document.write(linebreak);
         
            document.write("Value of a => (a *= b) => ");
            result = (a *= b);
            document.write(result);
            document.write(linebreak);
         
            document.write("Value of a => (a /= b) => ");
            result = (a /= b);
            document.write(result);
            document.write(linebreak);
         
            document.write("Value of a => (a %= b) => ");
            result = (a %= b);
            document.write(result);
            document.write(linebreak);
         //-->
      </script>      
      <p>Set the variables to different values and different operators and then try...</p>
   </body>
</html>

Resultado

Value of a => (a = b) => 10
Value of a => (a += b) => 20 
Value of a => (a -= b) => 10 
Value of a => (a *= b) => 100 
Value of a => (a /= b) => 10
Value of a => (a %= b) => 0
Set the variables to different values and different operators and then try...

Operador Diverso

Discutiremos dois operadores aqui que são bastante úteis em JavaScript: o conditional operator (? :) e a typeof operator.

Operador condicional (? :)

O operador condicional primeiro avalia uma expressão para um valor verdadeiro ou falso e, em seguida, executa uma das duas instruções fornecidas, dependendo do resultado da avaliação.

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

? : (Conditional )

Se a condição for verdadeira? Então valor X: Caso contrário, valor Y

Exemplo

Tente o código a seguir para entender como o Operador condicional funciona em JavaScript.

<html>
   <body>   
      <script type = "text/javascript">
         <!--
            var a = 10;
            var b = 20;
            var linebreak = "<br />";
         
            document.write ("((a > b) ? 100 : 200) => ");
            result = (a > b) ? 100 : 200;
            document.write(result);
            document.write(linebreak);
         
            document.write ("((a < b) ? 100 : 200) => ");
            result = (a < b) ? 100 : 200;
            document.write(result);
            document.write(linebreak);
         //-->
      </script>      
      <p>Set the variables to different values and different operators and then try...</p>
   </body>
</html>

Resultado

((a > b) ? 100 : 200) => 200 
((a < b) ? 100 : 200) => 100
Set the variables to different values and different operators and then try...

operador typeof

o typeofoperador é um operador unário colocado antes de seu único operando, que pode ser de qualquer tipo. Seu valor é uma string que indica o tipo de dados do operando.

O operador typeof é avaliado como "número", "string" ou "booleano" se seu operando for um número, string ou valor booleano e retorna verdadeiro ou falso com base na avaliação.

Aqui está uma lista dos valores de retorno para o typeof Operador.

Tipo String retornada por typeof
Número "número"
Corda "corda"
boleano "boleano"
Objeto "objeto"
Função "função"
Indefinido "Indefinido"
Nulo "objeto"

Exemplo

O código a seguir mostra como implementar typeof operador.

<html>
   <body>      
      <script type = "text/javascript">
         <!--
            var a = 10;
            var b = "String";
            var linebreak = "<br />";
         
            result = (typeof b == "string" ? "B is String" : "B is Numeric");
            document.write("Result => ");
            document.write(result);
            document.write(linebreak);
         
            result = (typeof a == "string" ? "A is String" : "A is Numeric");
            document.write("Result => ");
            document.write(result);
            document.write(linebreak);
         //-->
      </script>      
      <p>Set the variables to different values and different operators and then try...</p>
   </body>
</html>

Resultado

Result => B is String 
Result => A is Numeric
Set the variables to different values and different operators and then try...