Regra de Precedência Javascript

Javascript
Tempo de leitura: 3 minutos

Regra de Precedência Javascript: Ao escrever uma expressão com múltiplos operadores em JavaScript, o interpretador segue uma hierarquia estrita para determinar qual operação deve ser executada primeiro. Essa hierarquia é chamada de Precedência de Operadores.

Se você não souber a regra de precedência, seu código pode fazer algo completamente diferente do que você pretendia.

1. O Que é Precedência e Associatividade?

A Precedência define a prioridade dos operadores, e a Associatividade define a direção de avaliação quando operadores têm a mesma prioridade.

A. Precedência (Prioridade)

Assim como na matemática (onde a multiplicação vem antes da adição), em JS alguns operadores “vencem” outros.

  • Exemplo Clássico: A multiplicação (*) tem precedência maior que a adição (+).
    JavaScript
    let resultado = 2 + 3 * 4; // Ordem: 3 * 4 (12) é feito primeiro. // Resultado: 2 + 12 = 14

B. Associatividade (Direção)

Define a ordem (esquerda para a direita ou direita para a esquerda) para operadores com a mesma precedência.

  • Esquerda para Direita: +, -, *, /. Ex: a - b - c é avaliado como (a - b) - c.
  • Direita para Esquerda: Operadores de Atribuição (=, +=) e Exponenciação (**). Ex: a = b = c é avalificado como a = (b = c).

2. A Hierarquia Simplificada (Mais Comuns)

Embora a tabela completa seja extensa, a maioria dos bugs acontece com a precedência dos seguintes grupos (da mais alta para a mais baixa):

Nível de PrecedênciaOperadores ChaveExemplo de Uso
Mais Alta() (Parênteses), . (Acesso a Propriedade)objeto.propriedade * 5
Unários++, --, !, typeof!estaVazio
Aritméticos (Multiplicação)*, /, %10 / 2 * 5
Aritméticos (Adição)+, -5 + 3 - 1
Comparação<, >, ===, !==a === b
Lógicos&& (AND), || (OR), ! (NOT)idade > 18 && temCNH
Atribuição=, +=, -=x = 10

Exemplo Crítico: Lógicos e Aritméticos

O operador && (AND) tem precedência maior que o || (OR).

JavaScript

// O && é avaliado primeiro (como se estivesse entre parênteses)
let estaLogado = true;
let isAdmin = false;
let podeVer = true;

// O JS vê: estaLogado || (isAdmin && podeVer)
let acesso = estaLogado || isAdmin && podeVer; 
// Resultado: true || false -> true

3. A Regra de Ouro: Use Parênteses ()

A melhor prática para evitar erros de precedência e, mais importante, melhorar a legibilidade, é usar parênteses () para explicitar a ordem desejada.

  • Os parênteses têm a maior precedência de todos os operadores, forçando o interpretador a avaliar o que está dentro deles primeiro.

Antes vs. Depois (Legibilidade)

JavaScript

// Difícil de ler: O resultado será 14 (3 * 4 é feito primeiro)
let valorA = 2 + 3 * 4; 

// Claro e Explícito: O resultado será 20 (forçamos a adição primeiro)
let valorB = (2 + 3) * 4; 

Se você, ou o colega que lerá o código, tiver que pensar sobre a precedência, use parênteses.

✅ Conclusão Regra de Precedência Javascript

A Precedência de Operadores é a lei que governa a avaliação das expressões em JavaScript. Embora seja útil conhecer a hierarquia, a prática profissional dita: priorize a clareza. Use parênteses () sempre que a ordem de avaliação não for imediatamente óbvia. Isso não só previne bugs de lógica, mas torna seu código mais fácil de ler e manter.

Toda jornada tem um início, e o início para se tornar um desenvolvedor web é dominar as seguintes tecnologias, que você encontra aqui mesmo:

HTML
HTML
CSS
CSS
Javascript
JavaScript

E se você gosta do nosso conteúdo, não deixe de contribuir adquirindo os serviços e produtos dos nossos apoiadores e empresas que somos associados:

Hospedagem Hostinger
Ofertas Amazon
Amazon Prime

Author: Thiago Rossi
Com mais de 20 anos de jornada na tecnologia, minha trajetória evoluiu do ensino técnico à arquitetura de sistemas complexos. Hoje, foco minha expertise no desenvolvimento de soluções de Inteligência Artificial nativa e análise de dados públicos, utilizando o ecossistema PHP para transformar dados brutos em transparência e eficiência. Como autor e desenvolvedor, acredito na democratização do conhecimento. Essa visão resultou em uma biblioteca de mais de 530 artigos gratuitos, cobrindo desde a base do WebDev e Infraestrutura até os bastidores da indústria de Jogos e IA. No universo de Game Design, sou autor do livro "GDD – O Guia Definitivo" e documento ativamente meus processos através de DevLogs, unindo rigor técnico e criatividade em projetos desenvolvidos com GDevelop 5. Meu compromisso é conectar engenharia de ponta com as reais oportunidades do mercado de tecnologia.