this post was submitted on 05 Aug 2025
78 points (97.6% liked)

Programmer Humor

25484 readers
1736 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
 

That's it. That's the meme.

top 9 comments
sorted by: hot top controversial new old
[–] veganpizza69@lemmy.vg 3 points 8 hours ago

Just use ===

[–] NewDawnOwl@lemmy.world 5 points 12 hours ago

if you hate JS and think it's dumb, but still have to use it, look into Eloquent Javascript (free) https://eloquentjavascript.net/ and the mozilla docs https://developer.mozilla.org/en-US/docs/Web/JavaScript.

Eloquent JS is written by someone who also hates JS, but understands it very well.

I used them while I worked on the Microtonal Music Grid (still in progress)

[–] squaresinger@lemmy.world 14 points 17 hours ago (1 children)

It's so crazy to me that they convert from string to int and not the other way round.

[–] Valmond@lemmy.world 10 points 16 hours ago (1 children)

"1e2" == 100 I guess is the reason? I mean if there were some "reasons" to begin with 😮‍💨

[–] squaresinger@lemmy.world 1 points 14 hours ago

There surely are strings that can be converted into numbers (even something as simple as "1"). But in general, when languages do implicit conversions, they do it towards the more general type.

For example, if I do 1.1 == 1 in pretty much any language that has separate float and int types, the integer gets casted into a float (from more specific to more general type) and the comparison returns false. It would be utterly ridiculous if the language auto-casts the float to int and then returns true.

JS does just that. Instead of casting the more general number into a string and comparing that, it goes the other way round.

Every number has an equivalent string representation, not every string has an equivalent number representation.

[–] LeFrog@discuss.tchncs.de 28 points 20 hours ago (1 children)
[–] victorz@lemmy.world 6 points 17 hours ago (1 children)

Common practice since forever

[–] dreadbeef@lemmy.dbzer0.com 1 points 6 hours ago

most linters since like jshint as well catch it

[–] Australis13@fedia.io 3 points 16 hours ago

Having worked with JavaScript, I understand the usefulness of a "less strict" equality comparison like this, but the coercion of objects still does my head in...

(And for the record, most of the time I did use strict equality).