Показать сообщение отдельно
  #6 (permalink)  
Старый 14.07.2019, 08:52
Аватар для Alexandroppolus
Профессор
Отправить личное сообщение для Alexandroppolus Посмотреть профиль Найти все сообщения от Alexandroppolus
 
Регистрация: 25.10.2016
Сообщений: 1,012

Сообщение от Кирилл Margheriti
Я хотел не могу понять причину по которой первая строка не работает, а вторая работает.
Как написано в учебнике, выражение user.hi или user['hi'] возвращает не функцию, а связку функция+контекст.
И всё зависит от того, что с этим результатом делается на следующем шаге.
Если делается вызов функции, то контекст используется по назначению, попадает в this. Во второй строке как раз этот случай.
А если любое другое действие, то контекст отлетает, остаётся только функция. Например, у тебя в первой строке действие над результатом user.hi - передача его в операцию ?:
Ответить с цитированием