苏秦陶侃博客

es6之修饰器

字数统计: 187阅读时长: 1 min
2018/12/12 Share

es6之修饰器

类的修饰

对类的修饰,这里的修饰器就是一个对类进行处理的 函数

通过修饰器我们可以对类进行两种处理,分别是给类本身添加静态方法和给类添加实例方法:

1
2
3
4
5
6
7
8
9
10
// 给类添加静态方法
function decorator (target) {
target.getName = function () {
console.log(target.name)
}
}
@decorator
class MyClass {
}
MyClass.getName() // MyClass
1
2
3
4
5
6
7
8
9
10
11
// 给类添加实例方法
function decorator (target) {
 target.prototype.getName = function () {
console.log(target.name)
}
}
@decorator
class MyClass {
}
const newClass = new MyClass()
newClass.getName() // MyClass

  注意点:可以看到给类添加实例方法实际上就是给类的prototype上添加方法,这步操作可以使用Object.assign(MyClass.prototype, decorator)来模拟

方法的修饰

CATALOG
  1. 1. es6之修饰器
    1. 1.1. 类的修饰
    2. 1.2. 方法的修饰