ES6——Descrotor(修饰器)

基本概念

Descrotor是一个函数,它可以用来修改类的行为,它只在类范围内使用


基本用法


类的修饰

let typename = function(target,name,descriptor){
        //在类上添加静态属性myname
        target.myname='hello'
    }

    //使用修饰器
    @typename
    class Test{

    }
                //使用类去调用
    console.log(Test.myname);


方法的修饰

//修饰器函数
//三个参数(类的实例对象,修改的属性名,该属性的描述对象)
let readonly = function(target,name,descriptor){
    //属性修改成只读
    descriptor.writable = false;
    return descriptor
};

class Test{
    //使用修饰器 写在类里面!!!
     @readonly

    //属性
    name(){
        return 'Tim Chen'
    }
}

//生成实例
let test = new Test();
console.log(test.name()); //Tim Chen

//重新赋值
// test.name=()=> Lee;
// console.log(test.name()); //抛出错误
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值