Operadores de atribuição: atalhos para guardar valores
Descubra como simplificar a atribuição de valores a variáveis.
Você já sabe que o sinal de igual (=) é usado para atribuir um valor a uma variável. Por exemplo, let x = 10; significa "coloque o valor 10 na caixinha x".
Mas e se você quiser fazer uma operação matemática e, em seguida, guardar o resultado de volta na mesma variável? Por exemplo, x = x + 5; (pegar o valor de x, somar 5, e guardar o novo resultado em x).
Para essas situações, o JavaScript nos oferece operadores de atribuição compostos, que são atalhos para operações comuns. Eles combinam um operador aritmético com o operador de atribuição (=).
Os operadores de atribuição básicos em JavaScript:
| Operador | Exemplo Curto | Exemplo Longo (Equivalente) | Descrição |
|---|---|---|---|
= |
x = 10 |
x = 10 |
Atribui o valor do lado direito ao lado esquerdo. |
+= |
x += y |
x = x + y |
Adiciona y a x e atribui o resultado a x. |
-= |
x -= y |
x = x - y |
Subtrai y de x e atribui o resultado a x. |
*= |
x *= y |
x = x * y |
Multiplica x por y e atribui o resultado a x. |
/= |
x /= y |
x = x / y |
Divide x por y e atribui o resultado a x. |
%= |
x %= y |
x = x % y |
Atribui a x o resto da divisão de x por y. |
**= |
x **= y |
x = x ** y |
Eleva x à potência de y e atribui o resultado a x. |
Exemplos práticos:
Vamos ver como esses atalhos funcionam.
let numero = 10;
console.log("Valor inicial de numero:", numero); // Saída: Valor inicial de numero: 10
// Usando += (Adição e Atribuição)
numero += 5; // É o mesmo que: numero = numero + 5;
console.log("Depois de numero += 5:", numero); // Saída: Depois de numero += 5: 15
// Usando -= (Subtração e Atribuição)
numero -= 3; // É o mesmo que: numero = numero - 3;
console.log("Depois de numero -= 3:", numero); // Saída: Depois de numero -= 3: 12
// Usando *= (Multiplicação e Atribuição)
numero *= 2; // É o mesmo que: numero = numero * 2;
console.log("Depois de numero *= 2:", numero); // Saída: Depois de numero *= 2: 24
// Usando /= (Divisão e Atribuição)
numero /= 4; // É o mesmo que: numero = numero / 4;
console.log("Depois de numero /= 4:", numero); // Saída: Depois de numero /= 4: 6
// Usando %= (Módulo e Atribuição)
numero %= 5; // É o mesmo que: numero = numero % 5; (6 % 5 = 1)
console.log("Depois de numero %= 5:", numero); // Saída: Depois de numero %= 5: 1
// Usando **= (Exponenciação e Atribuição)
let base = 2;
base **= 3; // É o mesmo que: base = base ** 3; (2 elevado a 3 = 8)
console.log("Depois de base **= 3:", base); // Saída: Depois de base **= 3: 8
Operadores de atribuição com Strings
O operador += também é muito útil para concatenar (juntar) strings.
let mensagem = "Olá";
mensagem += ", mundo"; // É o mesmo que: mensagem = mensagem + ", mundo";
console.log(mensagem); // Saída: Olá, mundo
mensagem += "!";
console.log(mensagem); // Saída: Olá, mundo!
Por que usar operadores de atribuição compostos?
- Concisão: Eles tornam o código mais curto e direto. Em vez de
x = x + y;, você escrevex += y;. - Legibilidade: Para quem já conhece esses operadores, o código se torna mais fácil de ler e entender a intenção.
- Eficiência (em alguns casos): Embora os compiladores e interpretadores modernos sejam muito inteligentes, em alguns contextos, usar o operador composto pode ser ligeiramente mais eficiente, pois a variável não precisa ser acessada duas vezes (uma para ler, outra para escrever).
Dominar esses atalhos vai te ajudar a escrever um código mais limpo e profissional, além de ser uma prática comum na maioria das linguagens de programação.