chapter6-Decorator
1. 类的修饰
1.1 添加静态属性
@testable
class MyTestableClass {
...
}
// 设置静态属性
function testable(target) {
target.isTestable = true;
}
修饰器对类的行为的改变实在代码编译的时发生的,而不是在运行时。修饰器的本质就是编译时执行的函数
// 修饰器的第一个参数是目标类
function myDecorator(target) {
}
// 如果需要加入其他参数,可以在封装一层
function testable(isTestable) {
return function(target) {
target.isTestable = isTestable;
}
}
@testable(true)
class MyTestableClass{
}
1.2 添加实例属性
function(target) {
// 为实例添加属性
target.prototype.isTestable = true;
}
// mixins实现
export function mixins(...list) <