IEEE 754 указывает, что результатом операции является точный математический результат, округленный до ближайшего представимого значения (в направлении, которое пользователь может указать - вверх, ближайший и т. Д.). Когда точный математический результат представим, это самое близкое значение, и округления нет, поэтому результат является точным. Поэтому a/a
равно 1, если исключение не происходит.
Если я правильно помню, JavaScript не позволяет реализациям использовать избыточную точность (как, например, C). Таким образом, a/a
оценивается как ожидалось. Тогда Math.floor(a/a)
равно 1, а Math.floor(a/a) == 1
равно true.