--- title: Math.log() slug: Web/JavaScript/Reference/Global_Objects/Math/log translation_of: Web/JavaScript/Reference/Global_Objects/Math/log ---
A função Math.log() retorna o logaritmo natural(base {{jsxref("Math.E", "e")}}) de um número, que é:
Math.log(x)
xO logaritmo natural (base {{jsxref("Math.E", "e")}}) de um número dado. Se o número é negativo, {{jsxref("NaN")}} é retornado.
Se o valor de x é negativo, o retorno será sempre {{jsxref("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 {{jsxref("Math.LN2")}} ou {{jsxref("Math.LN10")}} . Caso você precise de um logaritmo de base 2 ou 10, use {{jsxref("Math.log2()")}} ou {{jsxref("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) .
Math.log()Math.log(-1); // NaN, out of range Math.log(0); // -Infinity Math.log(1); // 0 Math.log(10); // 2.302585092994046
Math.log() como uma base diferenteAs funções a seguir retornam o logaritmo de y na base x (ie. ):
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.
| Specification | Status | Comment |
|---|---|---|
| {{SpecName('ES1')}} | {{Spec2('ES1')}} | Definição inicial. Implementado no JavaScript 1.0. |
| {{SpecName('ES5.1', '#sec-15.8.2.10', 'Math.log')}} | {{Spec2('ES5.1')}} | |
| {{SpecName('ES6', '#sec-math.log', 'Math.log')}} | {{Spec2('ES6')}} | |
| {{SpecName('ESDraft', '#sec-math.log', 'Math.log')}} | {{Spec2('ESDraft')}} |
| Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|
| Basic support | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} |
| Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|---|
| Basic support | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} |