this post was submitted on 08 Dec 2023
618 points (96.4% liked)

Programmer Humor

32356 readers
1210 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] 10 points 10 months ago (2 children)

Yea uh is this actually equivalent? In all of those other cases you're checking if a is null and in the last case my understanding is it is checking to see if a is falsely. In the case that a is 0, or undefined, or an empty array or any other kind of non null falsey value, then the behavior would be different.

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

In C# that last one is the null propagation operator. If a is not null then a, else b.

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

Ah interesting one of those cases where this could be one of a few languages. I was reading it as JS.

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

I thought it was TS/JS too, but the way those braces are below the if statements makes it feel more like C#.

[–] [email protected] 2 points 10 months ago
[–] [email protected] 13 points 10 months ago

Even in Javascript, the ?? operator checks explicitly for null or undefined. So it added undefined, but not 0 or false. But adding undefined sounds like a good addition for this operator.

See the Javascript section of: https://wikipedia.org/wiki/Null_coalescing_operator#Examples_by_languages