[syntax] chainable nullish coalescing operator aka Nullish Coalescing Ternary

When writing deep data structure we generally need to do something like

cache[server] ??=  {}
cache[server][channel] ??= {}
cache[server][channel][service] = options

This is generally really verbose and we can already compact this by putting each part in parenthese :

((cache[server] ??= {})[channel] ??= {})[service] = options

but for each level of null coalescing we need to put the parentheses, so I propose to create the nullish coalescing ternary which don't need parentheses


In this case adding {} or [] just after ?? would permit to indicate what's expected to assign if nullish, but we could apply anything we want.