Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 18.09.2021, 10:42
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,491

Суть в том что раз она вылетает с ошибкой, то она знает что оказалась где-то не там. А вся суть ошибки с super в том, что она типа не может знать.
Неконсистентность. Оно должно или в обоих случаях вылетать на этапе декларирования, или в обоих случаях вылетать при попытке перетасовать. Имеем же то что super нельзя декларировать в function - упадёт, но можно перетасовать метод и он сохранит привязку, а приватные свойства можно декларировать в function, но зато при перетасовке упадёт. Противно как-то.
__________________
29375, 35

Последний раз редактировалось Aetae, 18.09.2021 в 10:51.
Ответить с цитированием
  #12 (permalink)  
Старый 18.09.2021, 13:08
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,700

Сообщение от Aetae
Имеем же то что super нельзя декларировать в function - упадёт, но можно перетасовать метод и он сохранит привязку
Так это естественно. Что бы super работало, нужно определить объект в котором находится эта function, взять __proto__ этого объекта, и искать свойство начиная с него. Но нет механизма определения в каком именно объекте находится эта функция. Она может вызываться как метод из совершенно разных объектов, а может вообще не быть ни в каком объекте. А при задании метода все ясно - он в том объекте, где объявлен. И вне объекта метод не задать.
Сообщение от Aetae
а приватные свойства можно декларировать в function
Наверно не декларировать а использовать. Их можно использовать везде внутри класса.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Добавление метода к переменной с помощью записи «через точку»? nathan111777 Общие вопросы Javascript 1 24.08.2019 17:03
В чем отличие bind от call и apply? platedz Events/DOM/Window 11 08.04.2013 07:24
Чем отличается составной оператор от литерала объекта? rgl Общие вопросы Javascript 10 26.02.2013 22:38
О чем говорят записи в таком виде?{} 0931454574 Серверные языки и технологии 7 13.05.2011 11:59
Как при чтении или записи свойства объекта вызывать функцию danik.js Общие вопросы Javascript 3 16.09.2010 17:57