Math.expm1()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Phương thức tĩnh Math.expm1() trả về e lũy thừa của một số, trừ đi 1. Cụ thể:

𝙼𝚊𝚝𝚑.𝚎𝚡𝚙𝚖𝟷(𝚡)=ex1\mathtt{\operatorname{Math.expm1}(x)} = \mathrm{e}^x - 1

Try it

console.log(Math.expm1(0));
// Expected output: 0

console.log(Math.expm1(1));
// Expected output: 1.718281828459045

console.log(Math.expm1(-1));
// Expected output: -0.6321205588285577

console.log(Math.expm1(2));
// Expected output: 6.38905609893065

Cú pháp

js
Math.expm1(x)

Tham số

x

Một số.

Giá trị trả về

Một số biểu thị ex - 1, trong đó e là cơ số của logarithm tự nhiên.

Mô tả

Đối với các giá trị x rất nhỏ, việc cộng thêm 1 có thể làm giảm hoặc mất độ chính xác. Số thực dấu phẩy động 64-bit dùng trong JS cho bạn khoảng 15 chữ số có nghĩa. 1 + 1e-15 = 1.000000000000001, nhưng 1 + 1e-16 = 1.000000000000000 và chính xác là 1.0 trong phép tính đó, vì các chữ số sau 15 bị làm tròn.

Khi bạn tính ex\mathrm{e}^x, trong đó x là số rất gần 0, bạn sẽ nhận được kết quả rất gần với 1 + x vì: limx0ex1x=1\lim_{x \to 0} \frac{\mathrm{e}^x - 1}{x} = 1. Nếu tính Math.exp(1.1111111111e-15) - 1, bạn sẽ nhận được kết quả gần 1.1111111111e-15. Thay vào đó, do chữ số có nghĩa cao nhất trong kết quả của Math.exp là chữ số đơn vị 1, giá trị cuối cùng là 1.1102230246251565e-15, chỉ có 3 chữ số đúng. Nếu tính Math.expm1(1.1111111111e-15), bạn sẽ nhận được kết quả chính xác hơn nhiều: 1.1111111111000007e-15, với 11 chữ số đúng.

expm1() là một phương thức tĩnh của Math, bạn luôn sử dụng nó dưới dạng Math.expm1(), thay vì là phương thức của một đối tượng Math bạn tạo ra (Math không phải là constructor).

Ví dụ

Sử dụng Math.expm1()

js
Math.expm1(-Infinity); // -1
Math.expm1(-1); // -0.6321205588285577
Math.expm1(-0); // -0
Math.expm1(0); // 0
Math.expm1(1); // 1.718281828459045
Math.expm1(Infinity); // Infinity

Đặc tả kỹ thuật

Specification
ECMAScript® 2027 Language Specification
# sec-math.expm1

Tương thích trình duyệt

Xem thêm