Math.log()
A função Math.log()
retorna o logaritmo natural(base e
) de um número, que é:
Sintaxe
Math.log(x)
Parâmetros
x
-
Um número.
Retorno
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.
):
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 | 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 (ECMA-262) The definition of 'Math.log' in that specification. |
Padrão em tempo real |
Compatibilidade com navegadores
BCD tables only load in the browser