Метод Math.max() встроенного объекта Math в JavaScript предназначен для поиска наибольшего значения среди переданных ему аргументов. Но что произойдет, если вызвать этот метод без передачи каких-либо аргументов?
В этом примере есть условие: если результат вызова метода Math.max() без аргументов больше нуля, в консоли появится сообщение «MAX». В противном случае будет выведено сообщение «ZERO».
На первый взгляд может показаться, что метод max(), даже без аргументов, вернет какое-то положительное значение, ведь он предназначен для поиска максимума. Однако, в реальности происходит немного другое.
Важная особенность Math.max()
Когда метод Math.max() вызывается без аргументов, он возвращает самое минимальное значение, которое существует в JavaScript — -Infinity. Это число представляет собой отрицательную бесконечность, что логически является минимально возможным числом в языке.
Давайте проверим это:
console.log(Math.max());
// -Infinity
Поскольку ноль действительно больше, чем -Infinity, результат выполнения условия в коде приведет к выводу «ZERO» на экран.
Итог
Этот пример демонстрирует интересную особенность JavaScript. Несмотря на интуитивное предположение о том, что метод Math.max() должен вернуть что-то положительное, он фактически возвращает -Infinity при отсутствии аргументов, что приводит к выводу сообщения «ZERO» в соответствии с условием.