- 装饰对象: 类、类的方法
- 本质:函数,参数为类
- 执行时间:编译阶段
如果同一方法有多个装饰器,从外到内进入,从内到外执行
function dec(id){
console.log('evaluated', id);
return (target, property, descriptor) => console.log('executed', id);
}
class Example {
@dec(1)
@dec(2)
method(){}
}
// evaluated 1
// evaluated 2
// executed 2
// executed 1