this post was submitted on 08 Mar 2024
469 points (98.2% liked)

Programmer Humor

32483 readers
318 users here now

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

founded 5 years ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 12 points 8 months ago (2 children)

300,000 every week... is this really a feature not built into Java Script?

[–] [email protected] 32 points 8 months ago* (last edited 8 months ago) (1 children)

is this really a feature not built into Java Script?

x % 2 == 0

[–] marcos 27 points 8 months ago (3 children)
(+x) % 2 == 0

If you forget for a second it's Javascript, the language will turn back and bite you.

[–] [email protected] 8 points 8 months ago

(+x) % 2 === 0

[–] [email protected] 5 points 8 months ago (2 children)

I am not good friends with js, what did I miss?

[–] marcos 7 points 8 months ago (1 children)

This evaluates to NaN for some reason:

'10' % 0

Since JS doesn't really differentiate strings from numbers, except on the places it does, it makes sense to make sure you are working with numbers.

[–] [email protected] 2 points 8 months ago* (last edited 8 months ago)

Oh right that. I guess I was visualizing a scenario where you already checked for it being a number, such as a Number.isInteger(x)

also, that suprises me a lot, you'd think this is one of the places where it treats stuff as numbers

[–] [email protected] 6 points 8 months ago (1 children)

Not a JS dev either but ===.

Not really sure what the (+x) is about

[–] [email protected] 1 points 8 months ago (1 children)

the remainder operator should return a number or a NaN right? do we actually need the triple here?

[–] marcos 2 points 8 months ago* (last edited 8 months ago) (1 children)

Not really. But with JS it's better safe than sorry.

The GP's addition is unnecessary, but I fully support anyone that decides to do it.

[–] [email protected] 2 points 8 months ago
[–] affiliate 3 points 8 months ago (1 children)
[–] marcos 6 points 8 months ago (1 children)
[–] affiliate 9 points 8 months ago (1 children)

what a wonderful and beautiful language. i’m so glad i asked

[–] ArtVandelay 1 points 8 months ago

And so wonderfully similar to the way that symbol is used in other languages as well. Gosh darn it I love JavaScript

[–] [email protected] 8 points 8 months ago

the is_even package does not provide much worth indeed because it simply negates is_odd and thereby all its benefit.

It's dependency is_odd on the other hand provides at least some additional checks (it also checks if the value is a valid integer below the max int value)

And while I would indeed see uses for such methods (especially with the other checks, no simple oneliners) in some cases, especially in testing: This is stuff you write yourself, throw it in a e.g. NumberUtils class and everything is fine. You do never depend on an external library for that. The benefit (not spending a few seconds to write it) does not outweigh any of the drawbacks that come with external libraries.