The trouble I have with this is that I’d want it to also apply with
 indexing (there are just as many constructions where this is useful for array indexing and/or variable indices), but parsing a partial construction like
object?['member'/*...*/ would be syntactically ambiguous with
value ? [array,members,ifTrue] : somethingElse without requiring a non-trivial amount of lookahead for a matching
:, if I’m not mistaken.
Perhaps the operator could be
.?property, and the matching indexing operator could be
[?index] - just switching the character order from how C# did it?