2

私は、継承を使用して「タイプ」階層を維持する一連の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);
}
4

1 に答える 1

2

クラスベース言語では、通常、次のようにコンストラクターでパラメーターを受け入れます。

class Parent {
}

class Child extends Parent {
    constructor(private someProp: string) {
        super();
    }
}

var child = new Child("Foo Bar");
于 2013-02-06T11:21:33.950 に答える