Esta página foi traduzida do inglês pela comunidade. Saiba mais e junte-se à comunidade MDN Web Docs.

View in English Always switch to English

Math.log()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨julho de 2015⁩.

A função Math.log() retorna o logaritmo natural(base e) de um número, que é:

x>0,Math.log(x)=ln(x)=the uniqueysuch thatey=x\forall x > 0, \mathtt{\operatorname{Math.log}(x)} = \ln(x) = \text{the unique} ; y ; \text{such that} ; e^y = x

Sintaxe

Math.log(x)

Parâmetros

x

Um número.

Retorno

O logaritmo natural (base e) de um número dado. Se o número é negativo, NaN é retornado.

Descrição

Se o valor de x é negativo, o retorno será sempre NaN.

Por log() ser um método estático de Math, você sempre o usará como Math.log(), ao invés de um método de um objeto de Math que você criou(Math não é um construtor).

Caso você precise do logaritmo natural de 2 ou 10, use as constantes Math.LN2 ou Math.LN10 . Caso você precise de um logaritmo de base 2 ou 10, use Math.log2() ou Math.log10() . Caso você precise utilizar logaritmo de outras bases, use Math.log(x) / Math.log(outraBase) como no exemplo abaixo; talvez você queira pré-calcular 1 / Math.log(outraBase) .

Exemplos

Usando Math.log()

js
Math.log(-1); // NaN, out of range
Math.log(0); // -Infinity
Math.log(1); // 0
Math.log(10); // 2.302585092994046

Usando Math.log() como uma base diferente

As funções a seguir retornam o logaritmo de y na base x (ie. logxy\log_x y):

js
function getBaseLog(x, y) {
  return Math.log(y) / Math.log(x);
}

Caso você execute getBaseLog(10, 1000) será retornado 2.9999999999999996 devido ao arredondamento de ponto-flutuante, o qual é bem próximo do retorno exato de 3.

Especificações

Specification
ECMAScript® 2026 Language Specification
# sec-math.log

Compatibilidade com navegadores

Veja também