単純なProperty Decoratorをtypescriptでコーディングしようとすると、PropertyDescriptorは常にnullです。次のコードを使用してコンパイルした場合:Typescript PropertyDecoratorが広告として機能しない
node_modules/.bin/tsc -experimentalDecorators --target es5 test.ts
"somestate"のPropertyDescriptorは常にnullです。
function test():any {
return function (target: any, propertyKey: string, descriptor: PropertyDescriptor):void {
console.log("Descriptor %o", descriptor);
};
}
export class TestClass {
@test()
public somestate: string;
}
new TestClass();
この動作は、ターゲットとして選択した内容に関係なく変更されません。
実際に生成されたデコレーションコールは実際には、常にボットセットになります。
__decorate([
test()
], TestClass.prototype, "somestate", void 0);