Вопрос проверяет знание синтаксиса JavaScript и понимание автоупаковки числовых примитивов.
Чтобы корректно вызвать метод у числового литерала, нужно явно отделить число от оператора доступа к методу. Чаще всего используют скобки (5).toString() или предварительно сохраняют число в переменную. Это позволяет JavaScript корректно распарсить код и временно обернуть число в объект Number. После этого метод вызывается без ошибок.
Вызов метода у числового литерала — это обращение к методу из Number.prototype у примитивного значения типа number.
5.toString()Сначала важно понять причину проблемы. Парсер JavaScript воспринимает точку после числа как часть дробного числа, а не как доступ к свойству.
5.toString() — ошибка парсинга
5. — допустимый числовой литерал
Поэтому требуется явное разделение
Существует несколько читаемых и безопасных вариантов.
Через скобки:
(5).toString();
Через переменную:
const n = 5;
n.toString();
Через конструктор Number:
Number(5).toString();
Через двойную точку (редко используется):
5..toString();
Число остаётся примитивом
JavaScript временно создаёт объект Number
Метод берётся из Number.prototype
После вызова временный объект уничтожается
В реальном коде предпочтительны скобки или переменная
5..toString() допустим, но снижает читаемость
Важно понимать, что это вопрос синтаксиса, а не ограничение типов
Методы у числовых литералов вызываются корректно, если явно отделить число от оператора доступа к свойству. Это запускает автоупаковку и позволяет использовать методы Number.prototype.
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию