this post was submitted on 17 May 2025
485 points (97.8% liked)

Programmer Humor

23402 readers
1809 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
[–] CameronDev@programming.dev 37 points 6 days ago* (last edited 6 days ago) (2 children)
Math.min() == Infinity
Math.max() == -Infinity

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.

[–] wise_pancake@lemmy.ca 12 points 6 days ago* (last edited 6 days ago) (2 children)

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?

[–] CameronDev@programming.dev 14 points 6 days ago (2 children)

I am also not a JS dev, we possibly aren't brain damaged enough to understand the perfection.

[–] Venator@lemmy.nz 7 points 5 days ago (1 children)

Most people don't use JS because they think it's perfect... they use it because it's the language that works on web browsers... or because thier coworkers made something in it... or because the library that does what they want uses it...

[–] CameronDev@programming.dev 4 points 5 days ago (1 children)

For such a terrible language, it really has staying power...

[–] bss03 6 points 5 days ago (1 children)

JS is the machine code of the web. Fewer and fewer people might write it directly, but it will live as long as the web platform does.

[–] bufalo1973@lemm.ee 2 points 5 days ago (1 children)

Until some browser can make pages with Python, maybe.

[–] bss03 3 points 4 days ago (1 children)

Only if that browser somehow becomes overwhelmingly popular in a market segment BEFORE it gets JS support.

[–] Venator@lemmy.nz 2 points 4 days ago

Could make a transpiler for python -> js, and serve python to the browser with a fallback to js if the python isn't supported by the browser

[–] peoplebeproblems@midwest.social 9 points 6 days ago (1 children)

I develop with JS? All I can say is I need more brain damage to understand where is out

[–] sp3ctr4l@lemmy.dbzer0.com 7 points 6 days ago

Just keep developing with it, you'll get CTE soon.

[–] bss03 1 points 6 days ago* (last edited 5 days 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.

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