为了账号安全,请及时绑定邮箱和手机立即绑定

decrator

function log(target) {

console.log(Object.getOwnPropertyDescriptor(target.prototype));  // undefined  这里打印 ??????

const desc = Object.getOwnPropertyDescriptor(target.prototype);

for (const key of Object.keys(desc)) {

if (key === 'constructor') {

continue;

}


const func = desc[key].value;


if ('function' === typeof func) {

Object.defineProperty(target.prototype, key, {

value(...args) {

console.log('before', key);

const ret = func.apply(this, args);

console.log('after', key);

return ret;

}

})

}

}

}


@log

class Numberic {

PI = 3.1415926;

add (...nums) {

return nums.reduce((p, n) => ( p + n ), 0)

}

}


new Numberic(1, 2);

正在回答

2 回答

你好,我也遇到targer.prototype为undefined。这个问题怎么解决的?谢谢

0 回复 有任何疑惑可以回复我~

getOwnPropertyDescriptor 和 getOwnPropertyDescriptors 

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
mobx入门基础教程
  • 参与学习       18816    人
  • 解答问题       54    个

mobx框架基础入门,使用mobx做状态管理

进入课程
意见反馈 帮助中心 APP下载
官方微信