Меню
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP КАК СДЕЛАТЬ ПРОГРАММЫ SW3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS КИБЕРБЕЗОПАСНОСТЬ НАУКА О ДАННЫХ
     ❯   

JS Учебник


JS Версии


JS Объекты


JS Функции


JS Классы


JS Асинхронный


JS HTML DOM


JS Браузер BOM


JS Веб APIы


JS AJAX


JS JSON


JS или jQuery


JS Графика


JS Примеры


JS Рекомендация




JavaScript BigInt


Переменные JavaScript BigInt используются для хранения больших целочисленных значений, которые слишком велики для представления обычным Number JavaScript.

JavaScript Точность целых чисел

JavaScript Целые числа точны только до 15 цифр:

Integer Precision

let x = 999999999999999;
let y = 9999999999999999;
Попробуйте сами »

В JavaScript все числа хранятся в 64-битном формате с плавающей точкой (стандарт IEEE 754).

С этим стандартом большие целые числа не могут быть точно представлены и будут округлены.

Из-за этого JavaScript может безопасно представлять только целые числа:

До 9007199254740991 +(253-1)

и

До -9007199254740991 -(253-1).

Целочисленные значения за пределами этого диапазона теряют точность.


Как создать BigInt

Чтобы создать BigInt, добавьте n в конец целого числа или вызовите BigInt():

let x = 9999999999999999;
let y = 9999999999999999n;
Попробуйте сами »
let x = 1234567890123456789012345n;
let y = BigInt(1234567890123456789012345)
Попробуйте сами »

BigInt: новый тип данных JavaScript

Тип BigInt JavaScript — это "bigint":

let x = BigInt(999999999999999);
let type = typeof x;
Попробуйте сами »

BigInt — второй числовой тип данных в JavaScript (после Number).

С BigInt общее количество поддерживаемых типов данных в JavaScript равно 8:

1. String
2. Number
3. Bigint
4. Boolean
5. Undefined
6. Null
7. Symbol
8. Object


Операторы BigInt

Операторы, которые можно использовать с Числом JavaScript, также можно использовать с BigInt.

Пример умножения BigInt

let x = 9007199254740995n;
let y = 9007199254740995n;
let z = x * y;
Попробуйте сами »

Примечания

Арифметические действия между BigInt и Number не допускаются (преобразование типов теряет информацию).

Беззнаковый сдвиг вправо (>>>) не может быть выполнен для BigInt (он не имеет фиксированной ширины).


Десятичные знаки BigInt

BigInt не может иметь десятичных знаков.

Пример деления BigInt

let x = 5n;
let y = x / 2;
// Ошибка: нельзя смешивать BigInt и другие типы, используйте явное преобразование.
let x = 5n;
let y = Number(x) / 2;
Попробуйте сами »

BigInt Hex, Octal и Binary

BigInt также можно записать в шестнадцатеричной, восьмеричной или двоичной системе счисления:

Пример BigInt Hex

let hex = 0x20000000000003n;
let oct = 0o400000000000000003n;
let bin = 0b100000000000000000000000000000000000000000000000000011n;
Попробуйте сами »

Precision Curiosity

Округление может поставить под угрозу безопасность программы:

Пример MAX_SAFE_INTEGER

9007199254740992 === 9007199254740993; // является true !!!
Попробуйте сами »

Поддержка браузеров

BigInt поддерживается во всех браузерах с сентября 2020 года:

Chrome 67 Edge 79 Firefox 68 Safari 14 Opera 54
May 2018 Jan 2020 Jul 2019 Sep 2020 Jun 2018


Минимальные и максимальные безопасные целые числа

ES6 добавил свойства max и min к объекту Number:

  • MAX_SAFE_INTEGER
  • MIN_SAFE_INTEGER

Пример MAX_SAFE_INTEGER

let x = Number.MAX_SAFE_INTEGER;
Попробуйте сами »

Пример MIN_SAFE_INTEGER

let x = Number.MIN_SAFE_INTEGER;
Попробуйте сами »

Новые методы чисел

ES6 также добавил 2 новых метода к объекту числа:

  • Number.isInteger()
  • Number.isSafeInteger()

Метод Number.isInteger()

Метод Number.isInteger() возвращает true, если аргумент является целым числом.

Пример: isInteger()

Number.isInteger(10);
Number.isInteger(10.5);
Попробуйте сами »

Метод Number.isSafeInteger()

Безопасное целое число — это целое число, которое можно точно представить как число двойной точности.

Метод Number.isSafeInteger() возвращает true, если аргумент — безопасное целое число.

Пример isSafeInteger()

Number.isSafeInteger(10);
Number.isSafeInteger(12345678901234567890);
Попробуйте сами »

Безопасные целые числа — это все целые числа от -(253 - 1) до +(253 - 1).
Это безопасно: 9007199254740991. Это небезопасно: 9007199254740992.



×

Связаться с отделом продаж

Если вы хотите использовать услуги schoolsw3 как образовательное учреждение, команда или предприятие, отправьте нам электронное письмо:
sales@schoolsw3.com

Сообщить об ошибке

Если вы хотите сообщить об ошибке или внести предложение, отправьте нам электронное письмо:
help@schoolsw3.com

Schoolsw3 оптимизирован для обучения и подготовки. Примеры могут быть упрощены для улучшения чтения и обучения. Учебники, ссылки и примеры постоянно проверяются, чтобы избежать ошибок, но мы не можем гарантировать полную правильность всего контента.
При использовании Schoolsw3 вы соглашаетесь прочитать и принять наши условия использования,
политику использования файлов cookie и конфиденциальности.

Авторское право 1999- принадлежит Refsnes Data. Все права защищены. Schoolsw3 работает на SW3.CSS.