this post was submitted on 17 May 2025
501 points (97.9% liked)

Programmer Humor

23417 readers
1560 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 2 years ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 82 points 1 week ago (38 children)

I'm no expert and I know that javascript is full of wtf moments, but please.. Let it be B

It's not gong to be B, it's it.

[–] [email protected] 97 points 1 week ago (9 children)

It is true. Math.min() returns positive Infinity when called with no arguments and Math.max() returns Negative Infinity when called with no arguments. Positive Infinity > Negative Infinity.

Math.min() works something like this

def min(numbers):
  r = Infinity
  for n in numbers:
    if n < r:
      r = n
  return r

I'm guessing there's a reason they wanted min() to be able to be called without any arguments but I'm sure it isn't a good one.

[–] [email protected] 4 points 5 days ago

I’m guessing there’s a reason they wanted min() to be able to be called without any arguments but I’m sure it isn’t a good one.

It not a totally unreasonable definition. For example it preserves nice properties like min(a.concat(b)) == min([min(a), min(b)]).

Obviously the correct thing to do is to return an optional type, like Rust does. But ... yeah I mean considering the other footguns in Javascript (e.g. the insane implicit type coersion) I'd say they didn't do too badly here.

load more comments (8 replies)
load more comments (36 replies)