Its the min value of the input params, or Infinity.
And the reason it’s Infinity If there is no input, for better or worse, under the hood the method is assigning a variable, min, the highest value possible and then comparing it to each element in the list, reassigning it when it encounters an element lower than its value at the time. So it will obviously always be reassigned if there are any elements at all (if they’re less than Infinity, I guess). But if there are no elements, it’s never reassigned, and thus returns Infinity. It could have just signed min to the first element instead if Infinity, but that would lead to a runtime error when min was run without a function. If you’re not going to throw a runtime error though, it makes sense for min to return Infinity because, what other number could you return that couldn’t actually be the minimum
And the reason it’s Infinity If there is no input, for better or worse, under the hood the method is assigning a variable, min, the highest value possible and then comparing it to each element in the list, reassigning it when it encounters an element lower than its value at the time. So it will obviously always be reassigned if there are any elements at all (if they’re less than Infinity, I guess). But if there are no elements, it’s never reassigned, and thus returns Infinity. It could have just signed min to the first element instead if Infinity, but that would lead to a runtime error when min was run without a function. If you’re not going to throw a runtime error though, it makes sense for min to return Infinity because, what other number could you return that couldn’t actually be the minimum