All functions built with functionname(args) { body } syntax have a length based on the form of args. Other ways to create functions might set length (I’m not sure). Most of the functions provided by the runtime environment do have a length, usually based on the number of “required” arguments.
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
Wtf is going on JS…
edit: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/min
Its the min value of the input params, or Infinity.
Why would they even define this value?
Note: I’m not a js dev, do most functions have length?
I am also not a JS dev, we possibly aren’t brain damaged enough to understand the perfection.
All functions built with
function name(args) { body }
syntax have a length based on the form ofargs
. Other ways to create functions might set length (I’m not sure). Most of the functions provided by the runtime environment do have a length, usually based on the number of “required” arguments.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