Math.exp() возвращает число e в степени x.
Проще всего запомнить так: Math.exp(x) - это то же самое, что e^x.
Синтаксис
Math.exp(x)
x - степень, в которую нужно возвести число e.
Что делает Math.exp()
Метод вычисляет экспоненту числа.
console.log(Math.exp(0)); // 1
console.log(Math.exp(1)); // 2.718281828459045
console.log(Math.exp(2)); // 7.38905609893065
То есть:
Math.exp(0)даёт1Math.exp(1)даёт числоeMath.exp(2)даётeво второй степени
Что возвращает Math.exp()
Math.exp() возвращает число типа number.
const result = Math.exp(3);
console.log(result); // 20.085536923187668
console.log(typeof result); // "number"
Почему Math.exp(0) равно 1
Это базовое свойство степеней.
console.log(Math.exp(0)); // 1
Любое ненулевое число в степени 0 даёт 1, и число e здесь не исключение.
Отрицательные значения
Если аргумент отрицательный, результат всё равно будет положительным, но меньше 1.
console.log(Math.exp(-1)); // 0.36787944117144233
console.log(Math.exp(-2)); // 0.1353352832366127
Это то же самое, что обратная степень:
console.log(Math.exp(-1)); // 1 / e
Важно не путать это с отрицательным результатом. Math.exp() не возвращает отрицательные числа для обычных конечных аргументов.
Большие значения
Если аргумент большой, результат растёт очень быстро.
console.log(Math.exp(5)); // 148.4131591025766
console.log(Math.exp(10)); // 22026.465794806718
На очень больших значениях результат может уйти в Infinity.
console.log(Math.exp(1000)); // Infinity
Math.exp() и Math.E ** x
Эти записи дают один и тот же результат.
console.log(Math.exp(2)); // 7.38905609893065
console.log(Math.E ** 2); // 7.38905609893065
Разница только в форме записи:
Math.exp(x)прямо говорит “e в степени x”Math.E ** xзаписывает то же самое через оператор степени
Если в коде важна читаемость именно как экспоненты, Math.exp() часто выглядит понятнее.
Math.exp() и Math.log()
Эти методы связаны друг с другом.
console.log(Math.log(Math.exp(3))); // 3
console.log(Math.exp(Math.log(5))); // 4.999999999999999
Идея здесь такая:
Math.exp(x)делаетe^xMath.log(x)делает обратную операцию
Во втором примере может быть не идеально ровное 5 из-за особенностей хранения дробных чисел в JavaScript.
Без аргумента
Если вызвать Math.exp() без аргумента, результатом будет NaN.
console.log(Math.exp()); // NaN
Так происходит потому, что метод попытается обработать undefined как число.
Неявное приведение типов
Math.exp() сначала пытается привести аргумент к числу.
console.log(Math.exp("2")); // 7.38905609893065
console.log(Math.exp(null)); // 1
console.log(Math.exp(true)); // 2.718281828459045
console.log(Math.exp(undefined)); // NaN
На практике обычно лучше передавать в метод уже готовое число.
NaN и Infinity
Для специальных значений метод ведёт себя предсказуемо.
console.log(Math.exp(NaN)); // NaN
console.log(Math.exp(Infinity)); // Infinity
console.log(Math.exp(-Infinity)); // 0
Это удобно помнить:
InfinityдаётInfinity-Infinityдаёт0
Число не меняется
Math.exp() не изменяет исходное значение. Он только возвращает новый результат.
const value = 2;
const result = Math.exp(value);
console.log(value); // 2
console.log(result); // 7.38905609893065
Когда это полезно
Math.exp() удобно использовать, когда:
- нужно вычислить
e^x - вы работаете с экспоненциальным ростом или спадом
- формула уже записана через число
e - нужно сделать обратную операцию к
Math.log()
Пример:
const x = 1.5;
console.log(Math.exp(x));
Частые ошибки
Думать, что Math.exp(x) - это просто x в степени 2
console.log(Math.exp(2)); // 7.38905609893065
console.log(2 ** 2); // 4
Math.exp(x) - это не x^2, а именно e^x.
Путать Math.exp() и 10 в степени x
console.log(Math.exp(2)); // 7.38905609893065
console.log(10 ** 2); // 100
Основание у Math.exp() всегда одно и то же - это число e, а не 10.
Ожидать отрицательный результат для отрицательного аргумента
console.log(Math.exp(-2)); // 0.1353352832366127
Результат становится меньше 1, но не становится отрицательным.
Быстрая памятка
Math.exp(x)вычисляетe^x- метод возвращает
number Math.exp(0)равно1- отрицательные аргументы дают положительный результат меньше
1 Math.exp(x)иMath.E ** xдают один и тот же результатMath.log()делает обратную операцию
Коротко
Math.exp() - это стандартный способ вычислить e в степени x в JavaScript. Главное, что стоит запомнить: метод работает именно с основанием e, быстро растёт на больших значениях и логически связан с Math.log() как обратная операция.