Size: a a a

2021 April 21

M

Makc in pro.js
повторюсь еще раз и переспрошу кто имеет последний сафари?
источник

M

Makc in pro.js
потому что я в прото получаю В
источник

M

Makc in pro.js
источник

E

Etki in pro.js
> b.constructor === b.proto.constructor

оно и ожидаемо, нет? потому что b не имеет такой проперти и идет вверх по прототипам?
источник

M

Makc in pro.js
как по мне ожидаемо что в прото родитель и его пропы
источник

ЕК

Евгений К. in pro.js
Но кто родитель this, который возвращается из super( )?
источник

AT

Anton T in pro.js
а вы напишите "console.log( this.__proto__===СlassA.prototype, this.__proto__===СlassB.prototype )", посмотрите где будет true
источник

M

Makc in pro.js
справедливо
источник

ЕК

Евгений К. in pro.js
тру у this.proto == ClassB.prototype. Только я от этого все равно ничего не понимаю, что происходит :D
источник

M

Makc in pro.js
тогда «constructor – это ссылка на функцию, с помощью которой был создан объект» но «…полагаться на него не лучшая идея» потому как можно преопределить
источник

ЕК

Евгений К. in pro.js
Тогда вопрос кто его переопределил? В коде ведь это свойство класса\функции нигде не переопределяется.
источник

M

Makc in pro.js
Не, тут никто не предопределил. Сами же пишите что это из-за супер.
источник

M

Makc in pro.js
А, неправильно прочёл сообщение, но выходит что так. Исходя из фразы хабра
источник

M

Makc in pro.js
в прото В потому что из В был создан объект через вызов супер
источник

M

Makc in pro.js
в конструкторе будет функция которая вызвала его, и это В
источник

ЕК

Евгений К. in pro.js
ммм!
источник

ЕК

Евгений К. in pro.js
А почему?
источник

M

Makc in pro.js
Супер вызвал. Значит такая логика языка
источник

M

Makc in pro.js
Но можно предопределить «в лоб». (Последний коммент)
источник

ЕК

Евгений К. in pro.js
Т.е. это не настоящий вызов ClassA( ), а просто заимствование его Constructor-а "внутрь" ClassB?
источник