Невозможно решить эту проблему с глубокой деструктуризацией. Как предполагает другой ответ, можно использовать значения по умолчанию , но они применяются только к undefined
значениям:
const { credit: { amont } = {} } = userProfile || {};
Хотя значения null
по-прежнему приводят к ошибке, необходимо выполнить оценку короткого замыкания для всех объектов, которые потенциально могут быть равны нулю:
const { credit } = userProfile || {};
const { amont } = credit || {};
Эту проблему можно решить с помощью функции безопасной навигации, которая считывает путь и проверяет нулевые значения.
Известный пример: Lodash get
:
const amont = _.get(userProfile, 'credit.amont');
Я знаю, один способ - использовать машинопись, но здесь я не
Это можно решить с помощью TypeScript, только если безопасность типов гарантирована. Если userProfile
приходит из ответа JSON, необходимо применить проверки типов во время выполнения, чтобы подтвердить, что объекты не являются null
.