DEV Community

Discussion on: Are there functions similar to Ruby's `dig` in other languages?

Collapse
 
daksamit profile image
Dominik Aksamit • Edited

It's known as optional chaining / null propagation.
In Javascript it's described as ECMAScript proposal

instead of writing:

const phone = orders && orders[0] && orders[0].customer && orders[0].customer.phone
Enter fullscreen mode Exit fullscreen mode

it could be like:

const phone = orders?[0]?.customer?.phone
Enter fullscreen mode Exit fullscreen mode

For now, there are libraries like lodash/get, where we can use function:

import { get } from 'lodash'
const phone = get(orders[0], 'customer.phone', 'optional default value')
Enter fullscreen mode Exit fullscreen mode