时间:2021-07-01 10:21:17 帮助过:42人阅读
一、概念
修饰器是一个函数,用来修改类的行为(注意:1、函数 2、修改行为 3、对类进行操作)
1、只读的修饰器
{
let readonly=function(target,name,descriptor){
descriptor.writable=false;return descriptor
};
class Test{
@readonly
time(){ return '2017-03-11'}
}
let test=new Test(); // test.time=function(){
// console.log('reset time');
// }; 将报错 如果修改的话
console.log(test.time());
}也可以在类的前面进行修饰
{
let typename=function(target,name,descriptor){
target.myname='hello';
}
@typename
class Test{
}
console.log('类修饰符',Test.myname);//hello // 第三方库修饰器的js库:core-decorators; npm install core-decorators}
{
let log=(type)=>{return function(target,name,descriptor){
let src_method=descriptor.value;
descriptor.value=(...arg)=>{
src_method.apply(target,arg);
console.info(`log ${type}`);
}
}
}
class AD{
@log('show')
show(){
console.info('ad is show')
}
@log('click')
click(){
console.info('ad is click');
}
}
let ad=new AD();
ad.show();
ad.click();
}以上就是ES6之Decorator的详细介绍的详细内容,更多请关注Gxl网其它相关文章!