1
resposta

Precedência de operadores

Na Aula 2, a 1min e 18seg, o professor informa que o javascript, lê a linha de comando com a expressão matemática, da esquerda para a direita para fazer a conta. Existe um engano aí. Com esse raciocínio, qual seria o resultado dessa linha de comando?

var resultado = 6 + 2 ** 2 / 4

6+2 = 8 (primeiro, adição) 8 ** 2 = 64 (segundo, potenciação) 64 / 4 = 16 (terceiro, adição)

resultado seria 16

Mas quando colocamos essa linha no javascript e mandamos exibir no console o resultado, o valor apresentado é 7. Isso porque na verdade ele não lê da esquerda pra a direita e sim, respeita a precedência matemática padrão (quando não se usa parênteses) , que é:

1º radiciação e potenciação 2º divisão e multiplicação 3º subtração e adição

Sendo assim, o cálculo é feito por padrão da seguinte forma:

var resultado = 6 + 2 ** 2 / 4

2 ** 2 = 4 (primeiro, potenciação) 4 / 4 = 1 (segundo, divisão) 6 + 1 = 7 (terceiro, adição)

https://www.somatematica.com.br/faq/r8.html

1 resposta

Veja novamente a aula, naquele caso seria exatamente da esquerda para direita, é um calculo simples de IMC.

imc = peso / altura * altura

Nesse caso que ele quis dizer que fará a conta da esquerda para direita. Por tanto é necessário que digamos ao javascript que digamos o que é para executar primeiro.

imc = peso / (altura * altura)