首页 > 代码库 > ES6学习笔记九:修饰器
ES6学习笔记九:修饰器
一:修饰器(Decorator)是一个函数,用来修改类的行为。
1)定义与使用
function 修饰器名(target) { //target是被修饰对象,可用target.xxx进行调用修改 } @修饰器名 class MyClass { // ... } //调用修饰器 MyClass.修饰器;
修饰器对类的行为的改变,是代码编译时发生的,而不是在运行时。这意味着,修饰器能在编译阶段运行代码。
2)带参数的修饰器
function 修饰器名(参数列表) { return function(target) {//返回一个闭包函数 target.xx= xx;//修改targer的内容 } } @修饰器名(实参) class MyClass {}
MyClass.修饰器;
二:使用
1)修饰类
(见上面格式)
2)修饰类中方法、属性
在类中的方法、属性上加 @修饰器 注解即可。
三:第三方模块
core-decorators.js是一个第三方模块,提供了几个常见的修饰器:
autobind
修饰器使得方法中的this
对象,绑定原始对象。
readonly
修饰器使得属性或方法不可写。
override
修饰器检查子类的方法,是否正确覆盖了父类的同名方法,如果不正确会报错。
deprecate
或deprecated
修饰器在控制台显示一条警告,表示该方法将废除。
suppressWarnings
修饰器抑制decorated
修饰器导致的console.warn()
调用。但是,异步代码发出的调用除外。
ES6学习笔记九:修饰器
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。