3 ms·
This is Javascript/Typescript only, and not really correct. a?.b a && a.b will behave differently if a is false or 0 or an otherwise "falsy" value. I
by dtech 7y ago
This is Javascript/Typescript only, and not really correct.
a?.b
a && a.b
will behave differently if a is false or 0 or an otherwise "falsy" value.
It's identical to something similar though
(a !== undefined && a !== null) ? a : b
- omaranto 7y agoThat's right, of course. I was just trying to convey the idea. But details matter of course. I was thinking of variables that either contained nil or contained an object with the appropriate field. If that precondition isn't meant you need more robust code like yours. But also, as another commenter pointed out, there is a distinction between "optional chaining" and "nil coalescing" and I explained (roughly) what optional chaining is.