BigInt.prototype.toString()

Baseline Widely available

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

Phương thức toString() của các giá trị BigInt trả về một chuỗi đại diện cho giá trị BigInt đã chỉ định. Ký tự "n" ở cuối không phải là một phần của chuỗi.

Try it

console.log(1024n.toString());
// Expected output: "1024"

console.log(1024n.toString(2));
// Expected output: "10000000000"

console.log(1024n.toString(16));
// Expected output: "400"

Cú pháp

js
toString()
toString(radix)

Tham số

radix Optional

Một số nguyên trong phạm vi từ 2 đến 36 chỉ định cơ số để biểu diễn giá trị BigInt. Mặc định là 10.

Giá trị trả về

Một chuỗi đại diện cho giá trị BigInt đã chỉ định.

Ngoại lệ

RangeError

Được ném nếu radix nhỏ hơn 2 hoặc lớn hơn 36.

Mô tả

Đối tượng BigInt ghi đè phương thức toString của Object; nó không kế thừa Object.prototype.toString(). Đối với các giá trị BigInt, phương thức toString() trả về biểu diễn chuỗi của giá trị trong cơ số đã chỉ định.

Đối với các cơ số trên 10, các chữ cái của bảng chữ cái biểu thị các chữ số lớn hơn 9. Ví dụ, đối với số thập lục phân (cơ số 16), a đến f được dùng.

Nếu giá trị BigInt đã chỉ định là âm, dấu được bảo toàn. Điều này đúng ngay cả khi cơ số là 2; chuỗi được trả về là biểu diễn nhị phân dương của giá trị BigInt đứng trước bởi dấu -, không phải bù hai của giá trị BigInt.

Phương thức toString() yêu cầu giá trị this của nó là một nguyên thủy BigInt hoặc đối tượng bao bọc. Nó ném TypeError cho các giá trị this khác mà không cố gắng ép kiểu chúng thành giá trị BigInt.

BigInt không có phương thức [Symbol.toPrimitive](), JavaScript gọi phương thức toString() tự động khi một đối tượng BigInt được dùng trong ngữ cảnh mong đợi chuỗi, chẳng hạn như trong template literal. Tuy nhiên, các giá trị nguyên thủy BigInt không tham khảo phương thức toString() để được ép kiểu thành chuỗi — thay vào đó, chúng được chuyển đổi trực tiếp bằng cùng thuật toán như triển khai ban đầu của toString().

js
BigInt.prototype.toString = () => "Overridden";
console.log(`${1n}`); // "1"
console.log(`${Object(1n)}`); // "Overridden"

Ví dụ

Sử dụng toString()

js
17n.toString(); // "17"
66n.toString(2); // "1000010"
254n.toString(16); // "fe"
(-10n).toString(2); // "-1010"
(-0xffn).toString(2); // "-11111111"

BigInt âm không

Không có BigInt âm không vì không có số không âm trong các số nguyên. -0.0 là khái niệm dấu phẩy động IEEE chỉ xuất hiện trong kiểu Number của JavaScript.

js
(-0n).toString(); // "0"
BigInt(-0).toString(); // "0"

Đặc tả

Specification
ECMAScript® 2027 Language Specification
# sec-bigint.prototype.tostring

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

Xem thêm