以下代码在node.js里面测试成功,但是为什么在引擎里面没有成功呢?
const test: PropertyDecorator = function (target: any, propertyKey: string | symbol) {
Object.defineProperty(target, propertyKey, {
get() {
console.log('get')
return this['app'];
},
set(v) {
console.log('set')
this['app'] = v;
}
})
}
class A {
@test
age: number = 0;
}
console.log(new A().age)
在引擎里面我需要修改以下代码,才能让get和set起作用:
class A {
@test
age: number = 0;
constructor() {
delete this.age;
}
}
这是为什么呢?是否我对属性装饰器的使用有误?但是同样的代码在其他地方又是可行的
