• 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

    • @wise_pancake@lemmy.ca
      link
      fedilink
      13
      edit-2
      2 days ago

      Math.min.length is 2, which weakly signals that it’s designed to handle at least two parameters

      Why would they even define this value?

      Note: I’m not a js dev, do most functions have length?

      • @bss03@infosec.pub
        link
        fedilink
        English
        1
        edit-2
        21 hours ago

        All functions built with function name(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.