JavaScript装饰器有什么意义?

APi*_*als 8 javascript functional-programming function decorator

我搜索了JavaScript装饰器,但我不确定使用装饰器调用函数和正常调用函数之间的区别是什么.

function myFunction(text) {
  console.log(text)
}
Run Code Online (Sandbox Code Playgroud)

myFunction()vs @myFunctionvs@myFunction()

我有一种感觉,我在这里错了.谁能解释一下?

Ber*_*els 3

装饰器用于从字面上装饰函数。

假设您想输入自己的装饰器,它可以用来查看函数需要运行多少时间。您可以编写一个装饰器@time()来完成此任务。完成后,您可以在要跟踪的每个函数之前使用此装饰器。

装饰器用作高阶函数,主要是为了让你的代码具有函数式的组合!

一个很好的例子是@Component()Angular 中的装饰器。在类之前使用此装饰器时,Angular 知道它必须将其作为组件来处理,并在幕后使用它执行一些方法。