Optional chaining, null coalescing, and optionals and maybes
The maybe/optional data types in functional languages such as Haskell and Scala have ways to handle null/undefined that are often superior to using validation, conditionals and operators to infer whether or not a value is nullish.
That's what optional chaining and null coalescing remind me of. They're also a replacement for usage of Lodash .get() method which allows for default values to be set in the last parameter, hence handling nullish value use cases.
Rather than using
something.property.anotherproperty, which can error (and hence crash your program/web page) if it encounters a nullish value for one of the properties, we use
something?.property?.anotherproperty instead, which only returns
undefined (instead of an error) if a nullish value is encountered in one of the properties.
Article on compatibility/proposal stage: https://stackoverflow.com/questions/59574047/how-to-use-optional-chaining-in-node-js-12