Как-то по итогу мой мозг всё равно полностью не хочет успокаиваться. На learnjs в статье написано следующее : оператор && вычисляет операнды слева направо до первого «ложного» и возвращает его, а если все истинные – то последнее значение.
Получается, если это интерпритировать под имеющийся пример, то выйдет что в фрагменте кода ниже : 1) typeof self == 'object' | true. Идём дальше, 2) self.self == self так же вернёт true.
3) self так же преобразуется в true и учитывая что все моменты истинные - возвращается self, т.е последнее значение.