装饰器(decorator)笔记(ES6标准入门)

本文详细介绍了ES6的装饰器,包括如何使用装饰器添加类的静态属性和实例属性,方法的修饰及其顺序,探讨了装饰器不能用于函数的原因,并通过core-decorators.js第三方库展示了autobind、readonly、override、deprecate和suppressWarnings等实用装饰器的用法,最后提及了自动发布事件的相关概念。
摘要由CSDN通过智能技术生成

chapter6-Decorator

1. 类的修饰

1.1 添加静态属性

@testable
class MyTestableClass {
   
    ...
}
// 设置静态属性
function testable(target) {
   
    target.isTestable = true;
}

修饰器对类的行为的改变实在代码编译的时发生的,而不是在运行时。修饰器的本质就是编译时执行的函数

// 修饰器的第一个参数是目标类
function myDecorator(target) {
   }

// 如果需要加入其他参数,可以在封装一层
function testable(isTestable) {
   
    return function(target) {
   
        target.isTestable = isTestable;
	}
}
@testable(true)
class MyTestableClass{
   
    
}

1.2 添加实例属性

function(target) {
   
    // 为实例添加属性
    target.prototype.isTestable = true;
}
// mixins实现
export function mixins(...list) <
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值