JavaScript中的差异继承是什么
当我遇到Eric Elliott的这篇文章时,我正试图理解JS中的原型继承 读完这篇文章后,我学到了一些东西,我想检查一下我的理解是否正确 当我们使用原型链接对象时,会使用差异继承(原型继承中的三种类型之一),也就是说,如果在对象上找不到属性,则会将查找委托给它链接到的委托原型。此继承使用引用进行查找。以下是不同的方式:JavaScript中的差异继承是什么,javascript,class,inheritance,constructor,prototype,Javascript,Class,Inheritance,Constructor,Prototype,当我遇到Eric Elliott的这篇文章时,我正试图理解JS中的原型继承 读完这篇文章后,我学到了一些东西,我想检查一下我的理解是否正确 当我们使用原型链接对象时,会使用差异继承(原型继承中的三种类型之一),也就是说,如果在对象上找不到属性,则会将查找委托给它链接到的委托原型。此继承使用引用进行查找。以下是不同的方式: 构造函数函数: 类(构造函数上的语法糖): 工厂功能: 任何更正或确认都将不胜感激。这是我第一次在javascript中听到“差异继承”这个术语。最后,你只是在创建一个原型链,
任何更正或确认都将不胜感激。这是我第一次在javascript中听到“差异继承”这个术语。最后,你只是在创建一个原型链,这就是所谓的原型继承。我们越了解JS,就越了解我们不了解JS您将“差异继承”称为三种原型继承之一。据我所知,这是javascript中唯一的原型继承。其他两种类型是什么?串联继承和函数继承。请阅读这篇文章以供参考。这是我第一次在javascript中听到“差异继承”这个术语。最后,你只是在创建一个原型链,这就是所谓的原型继承。我们越了解JS,就越了解我们不了解JS您将“差异继承”称为三种原型继承之一。据我所知,这是javascript中唯一的原型继承。其他两种类型是什么?串联继承和函数继承。请阅读这篇文章以供参考。退房
function Cat(param) {
this.name = param;
}
Cat.prototype.meow = function meow() {};
function SuperCat(param){
Cat.call(this, param);
}
SuperCat.prototype = Object.create(Cat.prototype);
SuperCat.prototype.constructor = SuperCat;
const superCat = new SuperCat('kitty');
class Cat{
constructor(param){
this.name = param;
}
meow(){}
}
class SuperCat extends Cat{
constructor(param){
super(param);
}
}
const superCat = new SuperCat('kitty');
const proto = {
meow(){
console.log(this.name);
}
}
const Cat = (name) => Object.assign(Object.create(proto), {name});
const SuperCat = (name) => Object.create(Cat(name));
const superCat = SuperCat("kitty")