-
Meio estranho esse gabarito...
Aqui [1] fala que "Function Call" tem precedência sobre "Multiplication"
[1] https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Operator_Precedence#table
-
Todos os operadores de comparação têm precedência igual; ou seja, eles são avaliados na ordem da esquerda para a direita na qual aparecem.
Os operadores aritméticos tem a seguinte ordem:
exp (^),
negação (-),
multiplicação (*) e divisao(/),
divisão inteira(\),
mod,
adição (+) e subtração (-) ,
concatenação de caracteres.
-
discordo do gabarito, como vai executar x * func(x) sem antes conhecer o valor de func(x)? Só pensar nos algoritmos recursivos, as chamadas das funções são empilhadas até que o valor de uma delas seja conhecido.
-
Os operadores aritméticos têm precedência sobre os relacionais.
-
Estranha a questão, sabendo que pode-se operar com multiplicação com funções diretamente. Exemplo: X * func(x), e func(x) apenas retorna um número, return 10. Na hora de empilhar os resultados vem primeiro o retorno de func(x), questão mau elaborada, mas que pega o conceito elementar de prioridade de execução, bem ao pé da letra.