我知道在大多数语言中这是不可能的,但是打字稿有一些非常有趣的技巧,因此我不会因为问而失去任何东西。
我想从父实例创建一个孩子,并自动分配其所有值。
我有一个父类,假设它是一个Error
类。我无法访问构造它的那一刻,我只能从方法中得到它,我们称之为buildError()
。
现在,我上了课:
class CustomError extends Error {
public changeMessage(newMessage:string):void{
this.message = newMessage
}
}
我想从其父类创建CustomError
的实例。因为Error是一个复杂的类,所以我不想编写包装器,也不想复制其中包含的所有元素。
我也不想执行以下操作:
class CustomError {
public readonly error:Error;
constructor(er:Error){
this.error = er;
}
}
const myCustomError:CustomError = new CustomError(instanceOfError);
myCustomError.error.message = 'foo';
在Typescript中,是否可以传递父实例并自动分配其所有属性?
为澄清起见,我以Error
为例,我不想扩展对象Error
,我想通过自定义方法扩展Selenium的WebDriver
项目。但是因为WebDriver非常复杂,所以我更喜欢使用扩展名而不是包装器。