Иногда приходится писать вот такого формата условия:
if (campaign.budget.bills.type) {}
, но бывает, что одно из родительских свойств от
type может быть null и, если это так, здесь будет ошибка.
А если есть возможность, что каждое родительское свойство может быть null?
Придется проверять сначала "самое родительское", потом заходить глубже и глубже, получив вот такую проверку:
if (campaign && campaign.budget && campaign.budget.bills && campaign.budget.bills.type) {}
Довольно неприятный код.
Где-то в памяти у меня лежит мутное знание, что это все можно сократить, поставив `?` рядом со свойством, но вставив его и перед, и после свойства - всегда получалась ошибка. Может это вообще из другого языка - я не помню.
Так есть ли возможность более коротким кодом проверять всю цепочку свойств?