ES6 装饰器

装饰器是一种函数,写成@ + 函数名。它可以放在类和类方法的定义前面。
我们看一下列子

@testable
class MyTestableClass {
  // ...
}
unction testable(target) {
  target.isTestable = true;
}
MyTestableClass.isTestable // true

其实不难看出 装饰词作用就是去修改类和类方法,还可以用于注释

// 带参数
function testable(isTestable) {
  return function(target) {
    target.isTestable = isTestable;
  }
}

@testable(true)
class MyTestableClass {}
MyTestableClass.isTestable // true

@testable(false)
class MyClass {}
MyClass.isTestable // false

你可能感兴趣的:(ES6 装饰器)