【发布时间】:2019-09-13 04:28:01
【问题描述】:
在 javascript 中,我有一个类和一个函数,我希望该函数继承类属性和方法。
据我所知,当一个函数继承另一个函数时,我们可以使用call() 或apply(),但是如果一个函数继承了一个类呢?
class User{
constructor(email_,name_){
this.name=name_;
this.email=email_;
}
login(){
console.log(this.email+" has login");
}
}
function Admin (...args){
User.apply(this,args);
}
var user1=new User("akrem","akrem@gmx.us");
var user2=new User("Luis","Luism@gmx.us");
var user3=new User("Karim","Karim@gmx.us");
var user4=new User("Yassine","assine@gmx.us");
var admin1=new Admin("Alex","alex@gmx.us");
console.group(admin1); //this gives error
【问题讨论】:
-
这看起来很傻——如果你使用类,为什么不使用
extends? -
类构造函数只能通过
new调用。要么将Admin设为适当的类,将extend User设为普通的构造函数。
标签: javascript function class object ecmascript-6