Referência de Operadores JavaScript
Os operadores JavaScript são usados para atribuir valores, comparar valores, realizar operações aritméticas e muito mais.
Operadores aritméticos JavaScript
Os operadores aritméticos são usados para realizar aritmética entre variáveis e/ou valores.
Dado que y = 5 , a tabela abaixo explica os operadores aritméticos:
Operator | Description | Example | Result in y | Result in x | Try it |
---|---|---|---|---|---|
+ | Addition | x = y + 2 | y = 5 | x = 7 | |
- | Subtraction | x = y - 2 | y = 5 | x = 3 | |
* | Multiplication | x = y * 2 | y = 5 | x = 10 | |
/ | Division | x = y / 2 | y = 5 | x = 2.5 | |
% | Modulus (division remainder) | x = y % 2 | y = 5 | x = 1 | |
++ | Increment | x = ++y | y = 6 | x = 6 | |
x = y++ | y = 6 | x = 5 | |||
-- | Decrement | x = --y | y = 4 | x = 4 | |
x = y-- | y = 4 | x = 5 |
Para um tutorial sobre operadores aritméticos, leia nosso Tutorial de Aritmética JavaScript .
Operadores de atribuição JavaScript
Os operadores de atribuição são usados para atribuir valores a variáveis JavaScript.
Dado que x = 10 e y = 5 , a tabela abaixo explica os operadores de atribuição:
Operator | Example | Same As | Result in x | Try it |
---|---|---|---|---|
= | x = y | x = y | x = 5 | |
+= | x += y | x = x + y | x = 15 | |
-= | x -= y | x = x - y | x = 5 | |
*= | x *= y | x = x * y | x = 50 | |
/= | x /= y | x = x / y | x = 2 | |
%= | x %= y | x = x % y | x = 0 |
Para obter um tutorial sobre operadores de atribuição, leia nosso Tutorial de atribuição de JavaScript .
Operadores de string JavaScript
O operador + e o operador += também podem ser usados para concatenar (adicionar) strings.
Dado que text1 = "Good " , text2 = "Morning" e text3 = "" , a tabela abaixo explica os operadores:
Operator | Example | text1 | text2 | text3 | Try it |
---|---|---|---|---|---|
+ | text3 = text1 + text2 | "Good " | "Morning" | "Good Morning" | |
+= | text1 += text2 | "Good Morning" | "Morning" | "" |
Operadores de comparação
Os operadores de comparação são usados em instruções lógicas para determinar a igualdade ou diferença entre variáveis ou valores.
Dado que x = 5 , a tabela abaixo explica os operadores de comparação:
Operator | Description | Comparing | Returns | Try it |
---|---|---|---|---|
== | equal to | x == 8 | false | |
x == 5 | true | |||
=== | equal value and equal type | x === "5" | false | |
x === 5 | true | |||
!= | not equal | x != 8 | true | |
!== | not equal value or not equal type | x !== "5" | true | |
x !== 5 | false | |||
> | greater than | x > 8 | false | |
< | less than | x < 8 | true | |
>= | greater than or equal to | x >= 8 | false | |
<= | less than or equal to | x <= 8 | true |
Para um tutorial sobre operadores de comparação, leia nosso Tutorial de Comparações de JavaScript .
Operador condicional (ternário)
O operador condicional atribui um valor a uma variável com base em uma condição.
Syntax | Example | Try it |
---|---|---|
variablename = (condition) ? value1:value2 | voteable = (age < 18) ? "Too young":"Old enough"; |
Exemplo explicado: Se a variável "idade" for um valor abaixo de 18, o valor da variável "votável" será "Muito jovem", caso contrário o valor de votante será "Velho suficiente".
Operadores lógicos
Os operadores lógicos são usados para determinar a lógica entre variáveis ou valores.
Dado que x = 6 e y = 3 , a tabela abaixo explica os operadores lógicos:
Operator | Description | Example | Try it |
---|---|---|---|
&& | and | (x < 10 && y > 1) is true | |
|| | or | (x === 5 || y === 5) is false | |
! | not | !(x === y) is true |
Operadores Bitwise JavaScript
Os operadores de bits funcionam em números de 32 bits. Qualquer operando numérico na operação é convertido em um número de 32 bits. O resultado é convertido novamente em um número JavaScript.
Operator | Description | Example | Same as | Result | Decimal |
---|---|---|---|---|---|
& | AND | x = 5 & 1 | 0101 & 0001 | 0001 | 1 |
| | OR | x = 5 | 1 | 0101 | 0001 | 0101 | 5 |
~ | NOT | x = ~ 5 | ~0101 | 1010 | 10 |
^ | XOR | x = 5 ^ 1 | 0101 ^ 0001 | 0100 | 4 |
<< | Left shift | x = 5 << 1 | 0101 << 1 | 1010 | 10 |
>> | Right shift | x = 5 >> 1 | 0101 >> 1 | 0010 | 2 |
Os exemplos acima usam exemplos sem sinal de 4 bits. Mas o JavaScript usa números assinados de 32 bits.
Por isso, em JavaScript, ~ 5 não retornará 10. Ele retornará -6.
~0000000000000000000000000000101 retornará 1111111111111111111111111111010
O tipo de Operador
O operador typeof retorna o tipo de uma variável, objeto, função ou expressão:
Exemplo
typeof "John"
// Returns string
typeof 3.14
// Returns number
typeof NaN
// Returns number
typeof false
// Returns boolean
typeof [1, 2, 3, 4] // Returns object
typeof {name:'John', age:34}
// Returns object
typeof new Date()
// Returns object
typeof function () {} // Returns function
typeof myCar
// Returns undefined (if myCar is not declared)
typeof null
// Returns object
Por favor, observe:
- O tipo de dados de NaN é número
- O tipo de dados de uma matriz é objeto
- O tipo de dados de uma data é objeto
- O tipo de dados de null é objeto
- O tipo de dados de uma variável indefinida é indefinido
Você não pode usar typeof para definir se um objeto JavaScript é uma matriz (ou uma data).
O operador de exclusão
O operador delete exclui uma propriedade de um objeto:
Exemplo
const person = {
firstName:"John",
lastName:"Doe",
age:50,
eyeColor:"blue"
};
delete person.age; // or delete person["age"];
O operador delete exclui o valor da propriedade e a própria propriedade.
Após a exclusão, a propriedade não pode ser usada antes de ser adicionada novamente.
O operador delete foi projetado para ser usado nas propriedades do objeto. Não tem efeito sobre variáveis ou funções.
Observação: o operador delete não deve ser usado em propriedades de objeto JavaScript predefinidas. Ele pode travar seu aplicativo.
O operador em
O operador in retorna true se a propriedade especificada estiver no objeto especificado, caso contrário, false:
Exemplo
// Arrays
const cars = ["Saab", "Volvo", "BMW"];
"Saab" in cars // Returns false (specify the index number instead of value)
0 in cars // Returns true
1 in cars // Returns true
4 in cars // Returns false (does not exist)
"length" in cars // Returns true (length is an Array property)
// Objects
const person = {firstName:"John", lastName:"Doe", age:50};
"firstName" in person // Returns true
"age" in person // Returns true
// Predefined objects
"PI" in Math // Returns true
"NaN" in Number // Returns true
"length" in String // Returns true
A instância do Operador
O operador instanceof retorna true se o objeto especificado for uma instância do objeto especificado:
Exemplo
const cars = ["Saab", "Volvo", "BMW"];
(cars instanceof Array) // Returns true
(cars instanceof Object) // Returns true
(cars instanceof String) // Returns false
(cars instanceof Number) // Returns false
O operador vazio
O operador void avalia uma expressão e retorna undefined . Este operador é frequentemente usado para obter o valor primitivo indefinido, usando "void(0)" (útil ao avaliar uma expressão sem usar o valor de retorno).
Exemplo
<a href="#;">
Useless link
</a>
<a href="javascript:void(document.body.style.backgroundColor='red');">
Click me to change the background color of body to red
</a>