修饰器 就是面向对象 修饰器模式 在不改变原类的基础上给其添加功能
function a(){
console.log("a")
}
class b(){
console.log("b")
}
console.log(a(new b()));
等同于
@a
class b(){
console.log("b")
}
function a(){
console.log("a")
}
cosnole.log(new b());
如果要有参数
那就用闭包
@a("c")
class b(){
console.log("b")
}
function a(c){
return function c(target){
console.log(c)
}
console.log("a")
}
cosnole.log(new b());
target指向使用修饰器的函数对象
这样简化代码 可读性增高 用于react
可以看阮一峰的es6