Math.log()
Статичний метод Math.log() повертає натуральний логарифм (за основою e) числа. Тобто
Спробуйте його в дії
Синтаксис
Math.log(x)
Параметри
- x
- Число, більше або рівне 0. 
Повернене значення
Натуральний логарифм (за основою e) значення x. Якщо x – ±0, то повертається -Infinity. Якщо x < 0, то повертається NaN.
Опис
Оскільки log() — це статичний метод об'єкта Math, його потрібно завжди використовувати через Math.log(). Не слід звертатись до нього як до методу власноруч створеного екземпляра Math (Math не є конструктором).
Якщо потрібно отримати натуральний логарифм 2 чи 10 – використовуйте сталі Math.LN2 чи Math.LN10. Якщо ж потрібен логарифм за основою 2 чи 10 – для цього існують функції Math.log2() та Math.log10(). Для отримання логарифма за якоюсь іншою основою – використайте Math.log(x) / Math.log(іншаОснова), як це показано в прикладі нижче; можливо, ви також захочете заздалегідь обчислити значення 1 / Math.log(іншаОснова), оскільки множення Math.log(x) * constant – куди швидша операція.
Майте на увазі, що додатні числа, дуже близькі до 1, можуть страждати від втрати точності й зробити свій натуральний логарифм неточним. У такому випадку може з'явитися необхідність використати натомість Math.log1p.
Приклади
Застосування Math.log()
Math.log(-1); // NaN
Math.log(-0); // -Infinity
Math.log(0); // -Infinity
Math.log(1); // 0
Math.log(10); // 2.302585092994046
Math.log(Infinity); // Infinity
Застосування Math.log() з іншою основою
Функція нижче повертає логарифм y за основою x (тобто ):
function getBaseLog(x, y) {
  return Math.log(y) / Math.log(x);
}
Якщо запустити getBaseLog(10, 1000), вона поверне 2.9999999999999996 у зв'язку з округленням чисел з рухомою комою, що дуже близько до правильної відповіді — 3.
Специфікації
Сумісність із браузерами
| desktop | mobile | server | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| log | Chrome Full support 1 | Edge Full support 12 | Firefox Full support 1 | Internet Explorer Full support 3 | Opera Full support 3 | Safari Full support 1 | WebView Android Full support 1 | Chrome Android Full support 18 | Firefox for Android Full support 4 | Opera Android Full support 10.1 | Safari on iOS Full support 1 | Samsung Internet Full support 1.0 | Deno Full support 1.0 | Node.js Full support 0.10.0 |