Thanks Yulia, this is going to be very useful and helpful in reducing code complexity!
For info, here's a DevTools bug to make sure the console panel still supports autocompletion even when ?. is used: https://bugzilla.mozilla.org/show_bug.cgi?id=1594009 I also a question: do you know if eslint is ready for this new syntax? In other words, can we use it in m-c without causing eslint parsing errors? On Tue, Jan 21, 2020 at 8:11 PM Yulia Startsev <yu...@mozilla.com> wrote: > Hi, > > In Firefox 74, we'll ship the optional chaining operator. > > *Bug: *https://bugzilla.mozilla.org/show_bug.cgi?id=1566143 > *Standard: *https://tc39.es/proposal-optional-chaining/ > *Platform coverage: *All, no pref > *DevTools bug: *N/A. > *Other browsers:* Shipping in Chrome, Shipping in Safari > *Testing: * > > https://github.com/tc39/test262/tree/master/test/language/expressions/optional-chaining > < > https://github.com/tc39/test262/tree/master/test/language/expressions/coalesce > > > > *Use cases: *Optional chaining may be useful in cases where a property may > be conditionally present. This affects property access, dynamic property > access, and function calls in the following way: > > *Property access* > > Before > const street = user.address && user.address.street; > > After > const street = user.address?.street; > > *Dynamic Property Access* > Before > const street = user.address && user.address["street"]; > > After > const street = user.address?.["street"]; > > *Optional function calls:* > > Before > const result = myObj.method && myObj.method(); > > After > const result = myObj?.method(); > > > *Secure contexts:* This is a JS language feature and is therefore present > in all contexts. > _______________________________________________ > dev-platform mailing list > dev-platform@lists.mozilla.org > https://lists.mozilla.org/listinfo/dev-platform > _______________________________________________ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform