0
只是一个简单的问题。如果我有2个具有相同名称的2个方法的类...如果我想在调用“applyMixins”时实现这两个类(在一个新类中)会发生什么?在实现过程中,具有相同名称的方法会发生什么情况?
谢谢。
只是一个简单的问题。如果我有2个具有相同名称的2个方法的类...如果我想在调用“applyMixins”时实现这两个类(在一个新类中)会发生什么?在实现过程中,具有相同名称的方法会发生什么情况?
谢谢。
class First{
name: string;
methodA(name: string){
this.name= name;
}
}
class Second{
id: string;
methodA(id: string){
this.id= id;
}
}
class newClass implements First, Second {
id: string;
name: string;
methodA:()=> void;
}
applyMixins(newClass, [First, Second]);
function applyMixins(derivedCtor: any, baseCtors: any[]) {
baseCtors.forEach(baseCtor => {
Object.getOwnPropertyNames(baseCtor.prototype).forEach(name => {
derivedCtor.prototype[name] = baseCtor.prototype[name];
});
});
}
var Pluto = new newClass();
console.log(Pluto.methodA);
这是我的代码(只是一个例子,看看会发生什么......)。在我的CONSOL日志中的结果是一个像SECOND CLASS的方法写的函数。那是对的吗?谢谢
你自己试过了吗?发生了什么?分享您的代码 –
TypeScript编译器输出(有点)可读的JavaScript - 如果您打开输出文件,您可以自己找到它。 –