Guia do artigo:

O objeto Math é utilizado para realizar operações matemáticas, sejam elas aritméticas, funções trigonométricas, funções de arredondamento e comparações.

Visão geral

O objeto Math retorna propriedades e métodos estáticos, tornando possível acessar a constate PI apenas como Math.PI ou a função random como Math.random().

No exemplo abaixo podemos ver um caso de uso do objeto Math na construção de uma função que gera senhas randômicas. .

/**
   * cria uma senha única
   *
   * @returns 
   */
  function geraSenha () {
    return 'xxxxxxxxxxxxxxxx'.replace(/[x]/g, () =>
      ((Math.random() * 16) | 0).toString(16)
    )
  }
  
  console.log(geraSenha())
  // 4172d50d2466e9da

Perceba que neste exemplo utilizamos a função Math.random() para poder gerar números aleatórios que serão substituídos por um número ou letras.

Sintaxe

Math.<metodo>(valor)

Na prática

Exemplo 1

O método `abs` tem a função de retornar o valor absoluto de um número, isto significa que o retorno será sempre positivo. Caso seja informado um valor negativo à este método, ele retornará o mesmo como positivo. Por exemplo, caso utilizemos o valor -1234, ele será convertido para 1234.

Essa operação é chamada também de módulo, e pode ser calculada matematicamente como a raiz quadrada do valor elevado ao quadrado.

let valor = Math.abs(-1234)
  
  console.log(valor)
  // 1234

Neste exemplo definimos a variável valor como o resultado do método abs que recebeu o valor negativo -1234, em seguida solicitamos através de uma caixa de alerta a exibição do conteúdo da variável valor1 que foi convertido em número positivo.

Exemplo 2

Este método irá retornar o arco co-seno (em radianos) de um número. Por exemplo:

let valor = Math.acos(0.14)
  
  console.log(valor)
  // 1.4303349120850408

Exemplo 3

Este método retorna o arco seno (em radianos) de um valor, como podemos ver no exemplo abaixo:

let valor = Math.asin(0.14)
  
  console.log(valor)
  // 0.14046141470985582

Exemplo 4

Este método retorna um inteiro maior ou igual a um número. O resultado deste método é equivalente ao arredondamento de um número. A lógica do arredondamento de um número é que se um número é um valor positivo como 14,6 o resultado do arredondamento será 15, quando o número for um valor negativo, como-14,6 o resultado é -14. Vejamos isso em um exemplo pratico.

let valor = Math.ceil(14.6)
  
  console.log(valor)
  // 15

Exemplo 5

Veja no exemplo abaixo que utilizamos o mesmo número do exemplo anterior, só que agora em modo negativo. O arredondamento será para -14, pois o retorno do método ceil é o menor número inteiro mais próximo ao valor superiormente, ou seja, o primeiro valor inteiro maior ou igual ao número informado. No caso, -14 é maior que -14,6.

let valor = Math.ceil(-14.6)
  
  console.log(valor)
  // -14

Exemplo 6

Este método irá retornar o co-seno (em radianos) de um número.

let valor = Math.cos(0.14)
  
  console.log(valor)
  // 0.9902159962126371

Exemplo 7

Este método irá retornar o valor da constante de Euler elevada ao número informado, ou seja, E elevado ao parâmetro.

let valor = Math.exp(0.0007)
  
  console.log(valor)
  // 1.0007002450571767

Exemplo 8

Este método retorna o maior inteiro menor ou igual a um número.

let valor1 = Math.floor(100.25)
  let valor2 = Math.floor(-100.25)
  
  console.log(valor1, valor2)
  // 100, -101

Exemplo 9

Este método retorna o logaritmo natural de um número (base E).

let valor = Math.log(2.2)
  
  console.log(valor)
  // 0.7884573603642703

Exemplo 10

Este método retorna o maior valor entre dois números.

let valor = Math.max(3, 9)
  
  console.log(valor)
  // 9

Exemplo 11

Este método retorna o menor valor entre dois números.

let valor = Math.min(3, 9)
  
  console.log(valor)
  // 3

Exemplo 12

Este método retorna a base elevada à potência do expoente. Por exemplo, 2 elevado a décima potência é 1024.

let valor = Math.pow(1024, 2)
  
  console.log(valor)
  // 1048576

Exemplo 13

Este método retorna um número aleatório entre 0 e 1 com até 15 dígitos. Este número aleatório é definido através do relógio do computador.

let random = Math.random()
  
  console.log(random)
  // 0.16354730816721896

Exemplo 14

Com este método é possível arredondar um valor. O arredondamento segue a regra de arredondamento que vimos anteriormente.

let valor = Math.round(121.6)
  
  console.log(valor)
  // 122

Exemplo 15

Este método retorna o seno de um número.

let valor = Math.sin(1.4)
  
  console.log(valor)
  // 0.9854497299884601

Exemplo 16

Retorna a raiz quadrada de um número.

let valor = Math.sqrt(9)
  
  console.log(valor)
  // 3

Exemplo 17

Retorna a tangente de um número, que é equivalente a divisão do seno pelo coseno deste mesmo valor.

let valor = Math.tan(1.5)
  
  console.log(valor)
  // 14.101419947171719

Compatibilidade

Engine Versão Minima
Node.JS ( V8) 6.4.0
Safari ( WebKit) 11.1
Chrome ( V8) 68
Microsoft Edge ( ChakraCore) 17
Firefox ( Gecko) 61

Nota: O Opera utiliza atualmente grande parte do código do Chrome como base para o seu próprio desenvolvimento e por isso ele não é mencionado nesta listagem.

Confira também