When writing an expression like a && a.b && a.b.c
just to make sure the path exists, it is more readable to use the functions _.get
, _.set
and _.has
instead.
This rule takes one argument - the minimal depth (default is 3
).
const isThree = a && a.b && a.b.c === 3;
if (a && a.b && a.b.c) {
// ...
}
const isThree = _.get(a, 'b.c') === 3;
if (_.has(a, 'b.c')) {
// ...
}
If you do not want to enforce using _.get
, you should not use this rule.