我正在编写一组使用继承来维护“类型”层次结构的TypeScript类(为了缺少更好的短语)。
比方说,我有一个基类...
class Parent {
}
然后我从中派生出其他类...
class Child extends Parent {
}
到目前为止一切都那么好......但是,现在我希望能够直接为我的Child类分配一些内容,如下所示:
private xyz: Child = "Foo Bar";
TypeScript当前会抛出编译器/语法错误...
无法将字符串转换为子
如果我可以将字符串分配给String(同样地,只是一个原型,就像我的Child类一样),如何重载我的类的赋值运算符以接受字符串?
编辑:我试过了......
class Child extends Parent implements String {
}
......但是,它没有达到预期的效果。
从C#背景讲,我想我正试图达到相当于......
public static implicit operator Child(string value
{
return new Child(value);
}
答案 0 :(得分:2)
在基于类的语言中,您通常会接受构造函数中的参数,如下所示:
class Parent {
}
class Child extends Parent {
constructor(private someProp: string) {
super();
}
}
var child = new Child("Foo Bar");