TypeScript 1.5现在具有 decorator。
有人可以提供一个简单的示例,演示实现 decorator的正确方法并描述可能的有效 decorator签名中的参数的含义吗?
declare type ClassDecorator = <TFunction extends Function>(target: TFunction) => TFunction | void;
declare type PropertyDecorator = (target: Object, propertyKey: string | symbol) => void;
declare type MethodDecorator = <T>(target: Object, propertyKey: string | symbol, descriptor: TypedPropertyDescriptor<T>) => TypedPropertyDescriptor<T> | void;
declare type ParameterDecorator = (target: Function, propertyKey: string | symbol, parameterIndex: number) => void;
此外,在实现 decorator时是否应牢记最佳实践考虑因素?
在其他答案中我没有看到的一件重要事情:
装饰厂
查看TypeScript手册Decorators一章。