以下のようなクラスがあるとすると、クラスAがプロパティを持っていることを検出するデコレータを作成する方法はa
?
@Dec
class A {
a:string;
}
でtsconfig.json
、を有効にしexperimentalDecorators
ます。
"experimentalDecorators": true,
次に、クラスデコレータ関数がコンストラクタの戻り値の型としてインターフェイスを受け入れるようにします。
たとえばPoint
、x
プロパティがない場合、次のようにコンパイラエラーが発生します。
@validate
class Point {
x: number;
y: number;
constructor() {
this.x = 1;
this.y = 1;
}
}
interface HasX {
x: number;
}
function validate(constructor: new () => HasX) { }
これが遊び場の上記です。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加