TypeScript中的赋值运算符重载
Assignment operator overloading in TypeScript
我正在编写一组TypeScript类,这些类使用继承来维护"Type"层次结构(因为需要更好的短语)。
比如说我有一个基类。。。
class Parent {
}
然后我从中派生出其他类。。。
class Child extends Parent {
}
到目前为止还不错。。。但比方说,现在我想能够直接为我的孩子类分配一些东西,比如:
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);
}
在基于类的语言中,您通常会在构造函数中接受参数,如下所示:
class Parent {
}
class Child extends Parent {
constructor(private someProp: string) {
super();
}
}
var child = new Child("Foo Bar");
相关文章:
- ||(OR)运算符如何在赋值中工作
- Javascript赋值运算符的奇怪行为
- JavaScript 中同一行上的多个比较/赋值运算符
- if子句中的赋值运算符赋值并执行检查
- 通过三元运算符的自赋值
- 什么's具有fn's赋值运算符两侧的名称(一个对象fn)
- JavaScript - 这些值赋值(使用 |= 作为运算符)是什么意思
- Javascript 赋值运算符不起作用
- JavaScript 中带有运算符的变量链式赋值
- 解构或赋值运算符
- JavaScript - 为什么加法赋值运算符不能按预期工作
- Javascript性能,条件语句与赋值运算符
- 一个语句中有多个加法赋值运算符
- 布尔值的按位赋值运算符,而不是更长表达式(|= 运算符)
- 赋值运算符,为什么结果是-3
- 带有条件和赋值运算符的表达式
- 为什么赋值运算符返回非布尔值
- TypeScript中的赋值运算符重载
- JS中的赋值运算符是(重新)绑定还是突变
- 带有三元运算符的附加赋值运算符