Hacker News new | ask | show | jobs
by djfm 3271 days ago
Well "a.b.c" violates the principle that you should never access a property more than one level deep anyway ;)

But in this case it's pretty straightforward to write a function like "get('b', 'c')(a)" or use a lib like lodash [1]

[1]: https://lodash.com/docs/#get

1 comments

The Law of Demeter doesn't always apply neatly, especially when you're introspecting JSON sent over the wire and you don't have a "class" with object oriented behavior for each sub object (at best, they're strongly typed). And the runtime overhead AND verbosity of a function may not be ideal, with the string parsing required in lodash and the awkward syntax of the curried function. Something that compiles natively in a DRY way to a && a.b ... would be used widely imo.