Spec-Zone.ru › JavaScript

BigInt.prototype.toString()

Базовый уровень Широко доступен

Эта функция хорошо зарекомендовала себя и работает на многих устройствах и в версиях браузеров. Она доступна в браузерах с сентября 2020 года.

Метод toString() объекта BigInt возвращает строковое представление указанного значения BigInt. Конечный символ "n" не является частью строки.

Попробуйте

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

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

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

Синтаксис

toString()
toString(radix)

Параметры

radix Необязательный
Целое число в диапазоне от 2 до 36, определяющее основание системы счисления для представления значения BigInt. По умолчанию 10.

Возвращаемое значение

Строковое представление указанного значения BigInt.

Исключения

RangeError
Выбрасывается, если radix меньше 2 или больше 36.

Описание

Объект BigInt переопределяет метод toString объекта Object; он не наследует Object.prototype.toString(). Для значений BigInt метод toString() возвращает строковое представление значения в указанной системе счисления.

Для систем счисления с основанием больше 10 буквы алфавита используются для обозначения цифр больше 9. Например, для шестнадцатеричных чисел (основание 16) используются a — f.

Если указанное значение BigInt отрицательное, знак сохраняется. Это происходит даже если основание системы счисления равно 2; возвращаемая строка является положительным двоичным представлением значения BigInt, которому предшествует знак -, а не дополнительный код значения BigInt.

Метод toString() требует, чтобы его значение this было примитивом BigInt или объектом-оберткой. Он выбрасывает TypeError для других значений this, не пытаясь привести их к значениям BigInt.

Поскольку BigInt не имеет метода [Symbol.toPrimitive](), JavaScript автоматически вызывает метод toString(), когда объект BigInt используется в контексте, ожидающем строку, например, в шаблонном литерале. Однако примитивные значения BigInt не обращаются к методу toString() для приведения к строкам — вместо этого они напрямую преобразуются с использованием того же алгоритма, что и первоначальная реализация toString().

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

Примеры

Использование toString()

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

Отрицательный ноль BigInt

Отрицательного нуля BigInt не существует, так как в целых числах нет отрицательных нулей. -0.0 — это концепция чисел с плавающей запятой по стандарту IEEE, которая встречается только в типе Number JavaScript.

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

Спецификации

Спецификация
ECMAScript® 2027 Language Specification
# sec-bigint.prototype.tostring

Совместимость с браузерами

Настольные компьютеры Мобильные устройства Сервер
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari on iOS Samsung Internet WebView Android WebView on iOS Bun Deno Node.js
toString
67
79
68
54
14
67
68
48
14
9.0
67
14
1.0.0
1.0
10.4.0

См. также

  • BigInt.prototype.toLocaleString()
  • BigInt.prototype.valueOf()
  • Number.prototype.toString()

© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt/toString

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API