【进阶篇】es7的decorator修饰器

  • Post author:
  • Post category:其他



es7的decorator修饰器


装饰器(Decorator)是一种与类(class)相关的语法,用来注释或修改类和类方法。


decorator就是给类添加或修改类的变量与方法的。


装饰器是一种函数,写成

@ + 函数名

。它可以放在类和类方法的定义前面。



@frozen class Foo {
  @configurable(false)
  @enumerable(true)
  method() {}

  @throttle(500)
  expensiveMethod() {}
}

上面代码一共使用了四个装饰器,一个用在类本身,另外三个用在类方法。它们不仅增加了代码的可读性,清晰地表达了意图,而且提供一种方便的手段,增加或修改类的功能。

1.修改类

@addType
class human{}
function addType(target){
  target.age=27;
  target.name=hyh;
  target.sex=male;
  target.hight=178;
  console.log('此对象被修改了')
}
console.log(new human())

上面代码中,

@addType

就是一个装饰器。它修改了

human

这个类的行为,为它加上了静态属性age name se



版权声明:本文为m0_61243965原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。