Что значит синтаксис obj.method?.()
Всем привет! Изучаю JS. Недавно наткнулся на такой синтаксис
obj.method?.()
И не очень понимаю как он работает. Т.е. я знаю что оно делает - смотрит есть ли такой метод и если есть то вызывает, если нет то возвращает undefined
Вопрос в том, что означает .()? Такое ощущение что у метода есть св-во (), которое вызывается, если есть такой метод. Если это не св-во, то почему бы не писать так например:
obj.method?()