через прото и setPrototypeOf уже не актуально за счет появления классов и расширения? Надо просто знать , что наследование происходит через прототипы и наследуемых методы храниться в прототипе?
не связанные вещи. до появления синтаксиса классов использовали специальное свойство .prototype у функции: function Dog(name) {} Dog.prototype.bark = function() {alert(this.name + ' says: BARK')} Dog.prototype = Object.create(Animal.prototype) proto это чисто для инстанса и ты не повесишь ничего на прототип класса, вроде. сетПротоайпОф это какие-то узкие кейсы, где тоже надо на инстанс прототип натянуть(?)😶🌫️ да и extends лучше перевести не как расширение, а как наследование, коим оно и является
Ну наследование то идет по прототипу если под капотом
в плане, что под капотом?)) а что конкретно не актуально, уточни ? cвойство _ _ proto _ _ действительно депрекейтед, но с классами это никак не связано. если хочется подменить прототип объекта надо юзать сетПротоайпОф. но это не рекомендуется судя по мдн чет я если честно не понимаю что ты говоришь: методы описание в классе идут же в прототип если хочется, то в классе методы пойдут в инстанс очень просто)
Ну изменять прототип после создания это очень плохо, раньше до классов использовали методы для установки прототипов, сейчас же это делает класс автоматический.
методы ? может все - таки свойство, .prototype? пс. это свойство, .prototype, можно использовать и с классовым синтаксисом 😉
Прототип то понятно что свойство, я про аксесоры setPrototypeOf
Раньше , чтобы повесить прототип делали так Dog.prototype = Object.create(Animal.prototype)
Обсуждают сегодня