Os programas JavaScript trabalham com números usando os operadores aritméticos fornecidos pela linguagem e também aceita operações matemáticas mais complexas por meio de um conjunto de funções e constantes definidas como propriedades do objeto Math. Considerando a aritmética em JavaScript, assinale a afirmativa correta.
- A)Gera erros em casos de estouro negativo ou divisão por zero.
Errada, porque em JavaScript operações como divisão por zero não geram erro fatal como regra geral, normalmente resultam em Infinity ou -Infinity, e não em exceção.
- B)A melhor forma para determinar se o valor de uma váriável x é NaN é escrever x == NaN.
Errada, porque NaN não pode ser comparado com ==, já que NaN é diferente até dele mesmo; o correto é usar Number.isNaN ou isNaN conforme o contexto.
- C)A função Math.ceil(.7) retornará o valor 0.5, pois tal função realiza o arredondamento para o decimal mais próximo.
Errada, porque Math.ceil(.7) retorna 1, pois ceil arredonda para cima, e não 0.5 nem para o decimal mais próximo.
- D)A função Math.round(.7) retornará o valor 1.0, pois tal função realiza o arredondamento para o inteiro mais próximo.
Certa, porque Math.round(.7) retorna 1, já que essa função arredonda para o inteiro mais próximo.
Gabarito: D
Em JavaScript, a aritmética segue regras próprias da linguagem e, quando você usa o objeto Math, encontra funções prontas para operações matemáticas comuns, como arredondar, elevar, obter teto e piso. Aqui o ponto central é não confundir as funções: Math.ceil faz o arredondamento para cima, isto é, para o menor inteiro maior ou igual ao número, enquanto Math.round faz o arredondamento para o inteiro mais próximo. Por isso, Math.round(.7) retorna 1, pois 0,7 está mais perto de 1 do que de 0. A alternativa D está correta exatamente por isso. Em JavaScript, o valor 0.7 ao passar por Math.round vira 1, e a função devolve um número inteiro. O enunciado ainda descreve bem a lógica da função: arredondamento para o inteiro mais próximo. As outras alternativas misturam conceitos comuns de prova. JavaScript não gera erro automaticamente em vários casos aritméticos especiais, e NaN não é comparado com igualdade simples, porque NaN nunca é igual a nada, nem a ele mesmo. Então, para conferir NaN, o certo é usar métodos próprios como Number.isNaN ou isNaN, dependendo do caso. Resumo de prova: Math.ceil sobe, Math.floor desce, Math.round vai para o mais próximo. Se você decorar essa trinca, já elimina boa parte das pegadinhas sem drama.