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