Встречается на собеседованиях • сегодня

Где теряются два значения в памяти переменной типа number

В JavaScript числа типа number хранятся в 64-битном формате IEEE 754. Из-за этого есть два известных случая "потери" значений:

  1. Потеря точности при арифметике с плавающей точкой:
javascript
console.log(0.1 + 0.2); // 0.30000000000000004
  1. Целые числа вне безопасного диапазона:
    Безопасный диапазон для целых чисел: от -(2^53 - 1) до 2^53 - 1 (Number.MIN_SAFE_INTEGER до Number.MAX_SAFE_INTEGER). Вне этого диапазона теряется точность:
javascript
console.log(9007199254740992 === 9007199254740993); // true

Для работы с большими числами используйте BigInt.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы