You are describing Perl's autovivification feature. Also possible (in that syntax) for arrays and mixed object/array chains. I liked it, but many saw it as a footgun. There was even a compile time module to turn off the feature, if the coder wanted more caution. Having mentioned Perl I will assume this is DOA?
On Fri, Apr 24, 2020, 14:36 Tobias Buschor <[email protected]> wrote: > Since we now have the "Optional Chaninig Operator" , perhaps a "Forced > Chaining Operator" would also be worth considering. > I, personally, could use it: > > let table; > table!.user!.id!.type = 'int' > > will evaluate to: > > let table; > if ( ! ( table instanceOf Object) ) table = {}; > if ( ! ( table.user instanceOf Object) ) table.user = {}; > if ( ! ( table.user.id instanceOf Object) ) table.user.id = {}; > table.user.id.type = 'int'; > > Also to be noted: > Sometimes a fallback to `Object.create(null)` or something other might be > desirable. > But since `{}` is syntactical sugar for `Object.create(Object.prototype)`, > this would be consistent. > > _______________________________________________ > es-discuss mailing list > [email protected] > https://mail.mozilla.org/listinfo/es-discuss >
_______________________________________________ es-discuss mailing list [email protected] https://mail.mozilla.org/listinfo/es-discuss

