深入探索 TypeScript 高级特性与 Webpack 打包工具
1. Decorator Factories
有时候,我们希望向装饰器传递信息以改变其行为,这时可以创建装饰器工厂。简单来说,装饰器工厂是一个返回函数的函数,返回的函数是实际的装饰器函数,而返回该函数的函数就是装饰器工厂。
以下是一个示例代码:
function logConstructorFactory(inEnabled: boolean) {
if (inEnabled) {
return function(inConstructor: Function) {
console.log(inConstructor);
}
} else {
return function() { };
}
}
@logConstructorFactory(true)
class Spaceship {
constructor() { console.log("Spaceship constructor"); }
}
@logConstructorFactory(false)
class Spacestation {
constructor() { console.log("Spacestation constructor"); }
}
const s = new Spaceship();
const t = new Spacestation();
在上述代码中, logConstructorFactory 函数是一个装饰器工厂,
超级会员免费看
订阅专栏 解锁全文
21

被折叠的 条评论
为什么被折叠?



