装饰器与元数据反射(3)参数装饰器

2019-02-02
阅读 3 分钟
1.5k
之前已经分别介绍了方法装饰器、属性装饰器和类装饰器,这篇文章我们来继续关注这些话题: 参数装饰器 装饰器工厂 我们将围绕以下这个例子,来探讨这些概念: {代码...} 参数装饰器 TypeScript对于参数装饰器的声明如下 {代码...} 如下我们为类Person的saySomething方法的参数添加一个参数装饰器 {代码...} 最终被编译为...

装饰器与元数据反射(2)属与类性装饰器

2019-02-02
阅读 4 分钟
1.8k
上一篇文章中,我们讨论了TypeScript源码中关于方法装饰器的实现,搞明白了如下几个问题: 装饰器函数是如何被调用的? 装饰器函数参数是如何传入的? __decorate函数干了些什么事情? 接下来我们继续属性装饰器的观察。 属性装饰器 属性装饰器的声明标识如下: {代码...} 如下我们为一个类的属性添加了一个名为@logProp...

装饰器与元数据反射(1)方法装饰器

2019-02-01
阅读 4 分钟
3.5k
首先来根据上面的标识,实现一个名为log的方法装饰器。使用装饰器的方法很简单:在装饰器名前加@字符,写在想要装饰的方法上,类似写注释的方式: