首页 > 其他 > 详细

装饰器

时间:2021-08-21 20:01:36      阅读:10      评论:0      收藏:0      [点我收藏+]
  • 函数装饰器
MethodDecorator = <T>(target: Object, key: string, descriptor: TypedPropertyDescriptor<T>) => TypedPropertyDescriptor<T> | Void;
  • 属性装饰器
PropertyDecorator = (target: Object, key: string) => void;
  • class装饰器
ClassDecorator = <TFunction extends Function>(target: TFunction) => TFunction;

  

function funcDecorator(target, key, desc) {
    console.log(‘funcDecorator_target‘, target);
    console.log(‘funcDecorator_key‘, key);
    console.log(‘funcDecorator_desc‘, desc);
    return desc;
}

function propDecorator(target, key) {
    console.log(‘propDecorator_target‘, target);
    console.log(‘propDecorator_key‘, key);
}

function classDecorator(target) {
    console.log(‘classDecorator_target‘, target);
    return target;
}

@classDecorator
export class Test {
    @propDecorator
    public name: string = ‘‘;

    @funcDecorator
    public log(): void {}
}

  

装饰器

原文:https://www.cnblogs.com/zhenjianyu/p/15169648.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!