Накратко
Операторът ?. прекратява достъпа при null или undefined. Той не скрива произволни грешки в изпълнението.
Полезно е да знаеш
Optional chaining позволява достъп до вложено свойство, когато междинна стойност може да е null или undefined. В тези случаи изразът връща undefined, вместо да хвърли грешка при самия достъп. [1]
Например при const user = {name: 'Ива'}; изразът user.address?.city връща undefined, защото address липсва. Ако address е {city: 'София'}, резултатът е 'София'. Това е удобно за незадължителни части от данни.
Операторът не означава, че всяка операция след него става безопасна. Той не поправя грешка вътре във функция, която действително се е изпълнила. Не превръща и неправилния тип в правилен модел на данни.
Използвай го там, където липсата е позволена. Ако адресът е задължителен за доставка, безшумното получаване на undefined не замества валидирането. Понякога правилното действие е ясно съобщение за липсващо поле, вместо да се продължи с непълен запис.
Източници
За повече подробности и проверка на информацията: