1014
JavaScript (lemmy.ml)
submitted 4 days ago by [email protected] to c/[email protected]
you are viewing a single comment's thread
view the rest of the comments
[-] [email protected] 1 points 3 days ago* (last edited 3 days ago)

It's because + is two different operators and overloads based on the type to the left, while - is only a numeric operator and coerces left and right operands to numeric. But frankly if you're still using + for math or string concatenation in 2025, you're doing it wrong.

[-] [email protected] 8 points 3 days ago

I know nothing about javascript, what is wrong with using + for math? perhaps naively, I'd say it looks suited for the job

[-] [email protected] 15 points 3 days ago

The correct way to do it is to load a 500mb library that has an add function in it.

[-] [email protected] 0 points 3 days ago* (last edited 3 days ago)

Point taken but the one I use is only ~200k for the whole package, ~11k for the actual file that gets loaded

[-] Quibblekrust 6 points 3 days ago

It's much better to make your own function that uses bitwise operations to do addition.

function add(a, b) {
    while (b !== 0) {
        // Calculate carry
        let carry = a & b;

        // Sum without carry
        a = a ^ b;

        // Shift carry to the left
        b = carry << 1;
    }
    return a;
}

(For certain definitions of better.)

[-] [email protected] 1 points 3 days ago* (last edited 3 days ago)

The native arithmetic operators are prone to floating point rounding errors

this post was submitted on 04 Jun 2025
1014 points (98.6% liked)

Programmer Humor

23955 readers
1124 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