this post was submitted on 08 Dec 2023
622 points (96.4% liked)
Programmer Humor
32561 readers
389 users here now
Post funny things about programming here! (Or just rant about your favourite programming language.)
Rules:
- Posts must be relevant to programming, programmers, or computer science.
- No NSFW content.
- Jokes must be in good taste. No hate speech, bigotry, etc.
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
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.
In C# that last one is the null propagation operator. If a is not null then a, else b.
Ah interesting one of those cases where this could be one of a few languages. I was reading it as JS.
I thought it was TS/JS too, but the way those braces are below the if statements makes it feel more like C#.
K&R for life
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