修饰器
1.类是修饰
修饰器(Decorator)是一个函数,用来修改类的行为。
2.方法的修饰
修饰器不仅可以修饰类,还可以修饰类的属性。
3.为什么修饰器不能用于函数
修饰器只能用于类和类的方法,不能用于函数,因为存在函数提升。
4.core-decorators.js
core-decorators.js是一个第三方模块,提供了几个常见的修饰器,通过它可以更好地理解修饰器。
5.使用修饰器实现自动发布事件
我们可以使用修饰器,使得对象的方法被调用时,自动发出一个事件。
6.Mixin
在修饰器的基础上,可以实现Mixin模式。
所谓Mixin模式,就是对象继承的一种替代方案,中文译为“混入”(mix in),意为在一个对象之中混入另外一个对象的方法。
7.Trait
Trait也是一种修饰器,效果与Mixin类似,但是提供更多功能,比如防止同名方法的冲突、排除混入某些方法、为混入的方法起别名等等。
8.Babel转码器的支持
目前,Babel转码器已经支持Decorator。
Babel的官方网站提供一个在线转码器,只要勾选Experimental,就能支持Decorator的在线转码。