Я получаю ключи от глобальной переменной, которая потенциально не определена.Ключи тоже могут не существовать:
import { get } from 'lodash/fp';
const probablyGlobalFoo = typeof globalFoo === 'undefined' ? void 0 : globalFoo;
const baz = get('baz', probablyGlobalFoo) || get('bar.baz', probablyGlobalFoo) || 'baz';
typeof globalFoo === 'undefined'
проверка идиоматична для JavaScript, но неуклюжа и многословна.Этот случай происходит пару раз в моей кодовой базе, но не достаточно часто, чтобы ввести другую вспомогательную функцию в мою библиотеку утилит.Вместо этого я предпочел бы просто предоставить функцию получения, которая обрабатывается должным образом, что-то вроде:
getFromAGetterAndCatchIfNotDefined('bar.baz', () => globalFoo);
Есть ли простой способ справиться с этим делом с помощью Lodash FP или Ramda API, которые я пропускаю?