装饰器 Decorator

  • 装饰对象: 类、类的方法
  • 本质:函数,参数为类
  • 执行时间:编译阶段

如果同一方法有多个装饰器,从外到内进入,从内到外执行

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

你可能感兴趣的:(积累)