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修饰器检查子类的方法,是否正确覆盖了父类的同名方法,如果不正确会报错。

deprecatedeprecated修饰器在控制台显示一条警告,表示该方法将废除。

suppressWarnings修饰器抑制decorated修饰器导致的console.warn()调用。但是,异步代码发出的调用除外。

 

转载于:https://www.cnblogs.com/ygj0930/p/7248702.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值