什么是装饰器?
装饰器设计模式
装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装。
这种模式创建了一个装饰类,用来包装原有的类,并在保持类方法签名完整性的前提下,提供了额外的功能。
我们通过下面的实例来演示装饰器模式的用法。其中,我们将把一个形状装饰上不同的颜色,同时又不改变形状类。
JS中的装饰器
装饰器(Decorator)是ES7中的一个新语法,使用可参考阮一峰的文章。正如其字面意思而言,它可以对类、方法、属性
进行修饰
,从而进行一些相关功能定制。它的写法与Java的注解(Annotation)非常相似,但是功能还是有很大区别。
JS中的Decorator在原理和功能上简单明了,简而言之就是对对象进行包装,返回一个新的对象描述(descriptor)。这个概念其实和React中的高阶组件也类似,大家可以用高阶组件的方式来理解它。
es7里才有装饰器模式
所以要配置环境 下载babel-plugin-transform-decorators-legacy
然后npm run dev 就可以运行es7语法le
验证es7语法
打印出true
npm run dev
alert出false
代码演示
代码示例
: