es6 语法 (Decorator)
2018-06-24 00:40:19来源:未知 阅读 ()
修饰器是一个函数,用来修改类的行为(注意:1、函数 2、修改行为 3、对类进行操作)
{ //修饰器函数定义 target:类本身,name名称,descriptor描述 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()); //2017-03-11 } { 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') //log show show(){ console.log('ad is show') //ad is show } @log('click') //log click click(){ console.log('ad is click') //ad is click } } let ad = new AD(); ad.show(); ad.click(); }
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 详解Webstorm 新建.vue文件支持高亮vue语法和es6语法 2020-02-07
- javascript setinterval 的正确语法如何书写 2019-12-08
- jQuery语法总结和注意事项 2019-10-16
- es6学习笔记(二) 2019-08-14
- Es6常用方法filter 2019-08-14
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash