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 July 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 unique y such that e y = 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. log x y \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 Language Specification
# sec-math.log

Compatibilidade com navegadores

BCD tables only load in the browser

Veja também