为什么我们在Typescript中说装饰器?为什么不注释(如java)或属性(如C#)

Ham*_*thi 8 attributes annotations decorator typescript

我想知道为什么在Typescript中我们说装饰器?

它只是与注释或属性不同的名称还是有其他原因?

Decorator和Annotation/Attributes之间有什么不同?

tos*_*skv 5

这是因为他们做不同的事情。

注释将元数据添加到一段代码中,以后可以被其他代码读取和使用。当装饰用一些其他代码装饰一些代码时。

以记录为例。

记录器注释可以在运行时由记录器检索(也许通过反射),并且将根据记录注释生成记录。

日志记录修饰将使用记录信息的功能将记录的代码括起来。


Voj*_*jta 5

Java中的注释是附加到类,方法等的元数据

但是,TypeScript中的装饰器是可以添加元数据但也可以添加某些行为(如日志记录)的函数

更多信息:https : //github.com/Microsoft/TypeScript-Handbook/blob/master/pages/Decorators.md