Вопрос проверяет понимание синтаксиса JavaScript и различий между парсером языка и механизмом автоупаковки.
Короткий ответ
5.toString() не работает, потому что JavaScript воспринимает точку как часть числового литерала. В результате парсер “ждёт” дробную часть числа, а не вызов метода. Вариант 5..toString() работает, потому что первая точка завершает число, а вторая используется для доступа к методу. После этого число временно оборачивается в объект Number, и метод успешно вызывается.
Длинный ответ
Зарегистрироваться
Развернутый ответ доступен только зарегистрированным пользователям.