考虑以下代码:
function configurable(target: any,propertyKey: string,descriptor: PropertyDescriptor) {
descriptor.set = (n: number) => {
target[`_${propertyKey}`] = n * 100;
};
}
class Test {
_prop: number = 10;
@configurable
get prop(): number {
return this.prop;
}
}
const t = new Test();
t.prop = 100;
这是一个愚蠢的示例,我试图动态添加带有装饰器的setter,但是打字稿抱怨t.prop
为只读