W3docs

Objeto Math do JavaScript

Aprenda o objeto Math do JavaScript: arredondamento, potências, raízes, números aleatórios, trigonometria e constantes como Math.PI e Math.E, com exemplos executáveis.

Introdução ao Objeto Math do JavaScript

Math é um objeto JavaScript embutido que agrupa constantes e funções matemáticas. Ao contrário da maioria dos objetos, você nunca cria uma instância dele com newMath é estático, portanto você chama tudo diretamente nele: Math.round(...), Math.PI, e assim por diante. Todos os seus métodos operam em números e complementam os operadores aritméticos padrão (+, -, *, /, %, **).

Este guia aborda o que cada método comum faz, as armadilhas que pegam as pessoas de surpresa (arredondamento de negativos, geração de número aleatório em um intervalo, o que acontece com entradas inválidas) e onde essas funções aparecem em código real, como animação e finanças.

Funções Math populares

FunçãoDescrição
Math.abs(x)Retorna o valor absoluto de x.
Math.ceil(x)Retorna o menor inteiro maior ou igual a x.
Math.floor(x)Retorna o maior inteiro menor ou igual a x.
Math.round(x)Arredonda x para o inteiro mais próximo.
Math.max(x, y, ...)Retorna o maior dentre zero ou mais números fornecidos como parâmetros de entrada.
Math.min(x, y, ...)Retorna o menor dentre zero ou mais números fornecidos como parâmetros de entrada.
Math.pow(x, y)Retorna x elevado à potência y.
Math.sqrt(x)Retorna a raiz quadrada de x.
Math.cbrt(x)Retorna a raiz cúbica de x.
Math.random()Retorna um número pseudo-aleatório entre 0 e 1.
Math.log(x)Retorna o logaritmo natural (log na base e) de x.
Math.log10(x)Retorna o logaritmo de base 10 de x.
Math.exp(x)Retorna e^x, onde x é o argumento e e é o número de Euler (aproximadamente 2,71828).
Math.sin(x)Retorna o seno de x (x em radianos).
Math.cos(x)Retorna o cosseno de x (x em radianos).
Math.tan(x)Retorna a tangente de x (x em radianos).
Math.asin(x)Retorna o arco seno de x em radianos.
Math.acos(x)Retorna o arco cosseno de x em radianos.
Math.atan(x)Retorna o arco tangente de x em radianos.
Math.atan2(y, x)Retorna o arco tangente do quociente de seus argumentos (y/x).

Entendendo os Fundamentos: Funções Matemáticas Essenciais do JavaScript

Math.round()

A função Math.round() arredonda um número para o inteiro mais próximo. Se a parte fracionária for 0,5 ou maior, arredonda para cima; caso contrário, arredonda para baixo.

Exemplo:

javascript— editable

Atenção — números negativos e .5: Math.round() sempre arredonda em direção ao infinito positivo nos empates, não "para longe do zero". Isso faz com que Math.round(-2.5) seja igual a -2, não -3. Se você precisar simplesmente remover a parte fracionária, use Math.trunc() em vez disso.

javascript— editable

Math.ceil()

A função Math.ceil() arredonda um número para cima, para o próximo inteiro maior, independentemente da sua parte fracionária.

Exemplo:

javascript— editable

Math.floor()

Em contraste, Math.floor() arredonda um número para baixo, para o inteiro mais próximo, descartando qualquer parte fracionária.

Exemplo:

javascript— editable

Math.sqrt()

A função Math.sqrt() retorna a raiz quadrada de um número.

Exemplo:

javascript— editable

Math.pow()

Math.pow() eleva um número a uma potência especificada. No JavaScript moderno, você pode usar o operador de exponenciação ** para o mesmo resultado — 4 ** 2 equivale a Math.pow(4, 2).

Exemplo:

javascript— editable

Math.trunc() e Math.sign()

Math.trunc() remove a parte fracionária de um número, deixando a parte inteira intocada — nunca arredonda. Isso o torna previsível tanto para números positivos quanto negativos, ao contrário de Math.floor() (que arredonda em direção a -Infinity).

Math.sign() informa o sinal de um número: 1 para positivo, -1 para negativo e 0 (ou -0) para zero.

Exemplo:

javascript— editable

Tratando entradas inválidas: NaN

Os métodos Math não lançam exceções para entradas inválidas — eles retornam NaN ("Not a Number"). Por exemplo, a raiz quadrada de um número negativo, ou qualquer método com um valor não numérico, resulta em NaN. Use Number.isNaN() para detectá-lo antes de confiar no resultado.

Exemplo:

javascript— editable

Operações Avançadas: Trigonometria e Além

Math.sin(), Math.cos(), Math.tan()

Essas funções são essenciais para cálculos trigonométricos, correspondendo ao seno, cosseno e tangente.

Exemplo:

javascript— editable

Math.random()

Math.random() gera um número pseudo-aleatório entre 0 (inclusivo) e 1 (exclusivo). É amplamente utilizado no desenvolvimento de jogos e em simulações.

Exemplo:

javascript— editable

Necessidade mais comum — um inteiro aleatório em um intervalo. Sozinho, Math.random() raramente faz o que você precisa; geralmente é necessário um número inteiro entre min e max. Escale o valor de 0–1 e depois aplique o floor. Esta fórmula retorna um inteiro de min a max inclusivo:

javascript— editable

Observe que Math.random() não é criptograficamente seguro. Para aleatoriedade sensível à segurança (tokens, senhas), use crypto.getRandomValues() em vez disso.

Math.max() e Math.min()

Essas funções retornam o maior e o menor número de um conjunto de argumentos, respectivamente.

Exemplo:

javascript— editable

Aplicações no Mundo Real: Utilizando Funções Matemáticas

As funções Math do JavaScript não são apenas conceitos teóricos — têm aplicações práticas em diversos domínios como animação, cálculos financeiros, computações científicas e muito mais.

Estudo de Caso: Animação com Trigonometria

Considere uma animação baseada na web onde um objeto se move em trajetória circular. Esse movimento pode ser obtido usando as funções Math.sin() e Math.cos().

// Circular motion parameters
let radius = 20;
let angle = 0;

function animateCircle() {
    let x = radius * Math.cos(angle);
    let y = radius * Math.sin(angle);
    angle += 0.01;
    // Update the object's position here
}

Ferramenta de Aprendizado Interativo: Criando um Quiz de Matemática

Usando funções Math do JavaScript, é possível desenvolver um quiz matemático interativo que desafia os usuários com problemas aritméticos aleatórios.

javascript— editable

Explorando Mais: Constantes Math e Além

Além do conjunto de funções, o objeto Math do JavaScript também fornece diversas constantes matemáticas importantes. Essas constantes não são apenas valores fixos, mas servem como elementos fundamentais em vários cálculos complexos, especialmente em computação científica e matemática.

Math.PI

Math.PI representa a razão entre a circunferência de um círculo e seu diâmetro. É aproximadamente igual a 3,14159. Essa constante é essencial em cálculos envolvendo círculos e esferas, como calcular a área de um círculo (Area = Math.PI * radius * radius) ou a circunferência (Circumference = 2 * Math.PI * radius).

Exemplo:

javascript— editable

Math.E

Math.E, conhecido como número de Euler, é aproximadamente igual a 2,718. É a base dos logaritmos naturais e é amplamente utilizado em cálculos de crescimento, juros compostos e análise de números complexos. Em JavaScript, Math.E é frequentemente usado com a função Math.exp(), que eleva Math.E à potência de um número fornecido.

Exemplo:

javascript— editable

Math.LN2

Math.LN2 representa o logaritmo natural de 2, aproximadamente 0,693. Essa constante é particularmente útil em algoritmos que envolvem cálculos logarítmicos, como calcular o tempo de duplicação em modelos de crescimento populacional ou em determinados cálculos financeiros.

Exemplo:

javascript— editable

Outras Constantes Notáveis

  • Math.LN10: Essa constante representa o logaritmo natural de 10, útil para escalonamento de dados logarítmicos.
  • Math.LOG2E: O logaritmo do número de Euler na base 2. É usado para converter logaritmos da base E para a base 2.
  • Math.LOG10E: O logaritmo do número de Euler na base 10, usado em contextos similares ao Math.LOG2E, mas para logaritmos de base 10.
  • Math.SQRT1_2: Representa a raiz quadrada de 1/2 e é frequentemente usado em cálculos geométricos.
  • Math.SQRT2: A raiz quadrada de 2, uma constante que aparece com frequência em álgebra, geometria e engenharia.

Aplicações Práticas das Constantes Math

Entender e utilizar essas constantes pode melhorar significativamente a funcionalidade das suas aplicações JavaScript. Por exemplo, no desenvolvimento de jogos, Math.PI é indispensável para calcular trajetórias e rotações. Em tecnologia financeira, Math.E e suas constantes logarítmicas relacionadas são cruciais para calcular juros compostos e cronogramas de amortização.

Conclusão

O objeto Math oferece arredondamento, potências, raízes, aleatoriedade, trigonometria e um conjunto de constantes úteis — tudo sem precisar importar nada. As principais coisas a lembrar: Math é estático (sem new), os empates em Math.round() arredondam em direção a +Infinity, Math.trunc() é a forma previsível de remover uma parte fracionária, escale Math.random() para obter um inteiro em um intervalo, e entradas inválidas retornam NaN em vez de um erro.

Tópicos relacionados

Prática

Prática
Quais das seguintes afirmações sobre JavaScript Math estão corretas?
Quais das seguintes afirmações sobre JavaScript Math estão corretas?
Was this page helpful?