Esta tradução está incompleta. Por favor, ajude a traduzir este artigo.

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()

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):

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 Status Comment
ECMAScript 1st Edition (ECMA-262) Padrão Definição inicial. Implementado no JavaScript 1.0.
ECMAScript 5.1 (ECMA-262)
The definition of 'Math.log' in that specification.
Padrão  
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'Math.log' in that specification.
Padrão  
ECMAScript Latest Draft (ECMA-262)
The definition of 'Math.log' in that specification.
Rascunho  

Compatibilidade de navegadores

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support (Yes) (Yes) (Yes) (Yes) (Yes)
Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support (Yes) (Yes) (Yes) (Yes) (Yes) (Yes)

Veja também

Etiquetas do documento e colaboradores

Colaboradores desta página: monteiroflavio
Última atualização por: monteiroflavio,