когда мы обращаемся к полю a к обьекту, то елси поля а нет в объекте, то мы идем наверх по .proto до тех по пока не встретим поле a, если не встречаем, то говорим что a undefined
если мы добавим приватные поля без особого синтаксиса, то сначала мы будем искать поле как обычное, а потом как приватное и только в конце отдавать undefined