es7学习教程之Decorators(修饰器)详解


Posted in Javascript onJuly 21, 2017

本文主要给大家介绍的是关于es7 Decorators(修饰器)的相关内容,分享出来供大家参考学习,下面话不多说,来一起看看详细的介绍:

ES6 Decorators(修饰器)

修饰器(Decorator)是一个函数,用来修改类的行为。这是ES7的一个提案,目前Babel转码器已经支持

我们在游戏大型项目种经常会用到的方法,现在es6直接支持

想要使用Decorator的话需要我们配置一下文件夹,配置一下环境

npm install babel-plugin-transform-decorators-legacy --save-dev

完事配置一下babelrc文件

"plugins": ["transform-decorators-legacy"]

先说一下装饰器的特点

装饰器本质是一个函数

@hometown hometown()

装饰对象可以使用多个装饰器

@hometown("山西")
@school
 class Student{
  constructor(name){
   this.name=name;
  }
  @studyke("HTML")
  study(){
   console.log(this.name+" is studying"+this.ke+"!")
  }
}

装饰器可以带参数

function hometown(diqu){
   //target.home="广灵";
   return function(target){
    target.home=diqu;
   }
  }

@hometown("山西")
class...

装饰器修饰 类

function school(target){
   console.log("123")
   target.schoolName="师徒课堂";
  }
  function hometown(diqu){
   //target.home="广灵";
   return function(target){
    target.home=diqu;
   }
  }

  function studyke(kemu){
   return function(target){
    target.ke=kemu;
   }
  }
  @hometown("山西")
  @school
  class Student{
   constructor(name){
    this.name=name;
   }
   @studyke("HTML")
   study(){
    console.log(this.name+" is studying"+this.ke+"!")
   }
  }
  console.log(Student.schoolName);
  console.log(Student.home);

  let l=new Student("xiaoA");
  l.study();

  @school
  function Teacher(){

  }

总结

以上就是这篇文章的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
Javascript 读书笔记索引贴
Jan 11 Javascript
JQuery中如何传递参数如click(),change()等具体实现
Apr 28 Javascript
jquery实现多级下拉菜单的实例代码
Oct 02 Javascript
为开发者准备的10款最好的jQuery日历插件
Feb 04 Javascript
jQuery 删除或是清空某个HTML元素示例
Aug 04 Javascript
node.js调用C++开发的模块实例
Jul 03 Javascript
PassWord输入框代码分享
Jun 07 Javascript
利用JS判断字符串是否含有数字与特殊字符的方法小结
Nov 25 Javascript
Javascript 制作图形验证码实例详解
Dec 22 Javascript
Vue项目安装插件并保存
Jan 28 Javascript
微信小程序云开发实现数据添加、查询和分页
May 17 Javascript
p5.js实现故宫橘猫赏秋图动画
Oct 23 Javascript
VUE中使用Vue-resource完成交互
Jul 21 #Javascript
es7学习教程之fetch解决异步嵌套问题的方法示例
Jul 21 #Javascript
js图片轮播插件的封装
Jul 21 #Javascript
Javascript es7中比较实用的两个方法示例
Jul 21 #Javascript
AngularJS中使用three.js的实例详解
Jul 21 #Javascript
Axios学习笔记之使用方法教程
Jul 21 #Javascript
Vue学习笔记进阶篇之函数化组件解析
Jul 21 #Javascript
You might like
Zend Framework中的简单工厂模式 图文
2012/07/10 PHP
基于php验证码函数的使用示例
2013/05/03 PHP
ThinkPHP表单自动验证实例
2014/10/13 PHP
PHP实现长文章分页实例代码(附源码)
2016/02/03 PHP
PHP的swoole扩展安装方法详细教程
2016/05/18 PHP
PHP精确到毫秒秒杀倒计时实例详解
2019/03/14 PHP
javascript 贪吃蛇实现代码
2008/11/22 Javascript
Javascript常考语句107条收集
2010/03/09 Javascript
读jQuery之六 缓存数据功能介绍
2011/06/21 Javascript
jQuery1.6 使用方法二
2011/11/23 Javascript
ajax异步刷新实现更新数据库
2012/12/03 Javascript
js数组去重的方法汇总
2015/07/29 Javascript
jQuery根据表单name获取值的方法
2016/05/24 Javascript
动态更新highcharts数据的实现方法
2016/05/28 Javascript
JS & JQuery 动态添加 select option
2016/06/08 Javascript
jQuery控制控件文本的长度的操作方法
2016/12/05 Javascript
详解HTTPS 的原理和 NodeJS 的实现
2017/07/04 NodeJs
开发Vue树形组件的示例代码
2017/12/21 Javascript
微信小程序http连接访问解决方案的示例
2018/11/05 Javascript
JavaScript实现随机点名器实例详解
2019/05/07 Javascript
JQuery事件冒泡和默认行为代码实例
2020/05/13 jQuery
Python实现的破解字符串找茬游戏算法示例
2017/09/25 Python
pyqt5中QThread在使用时出现重复emit的实例
2019/06/21 Python
Python 列表去重去除空字符的例子
2019/07/20 Python
Python3.9又更新了:dict内置新功能
2020/02/28 Python
localstorage和sessionstorage使用记录(推荐)
2017/05/23 HTML / CSS
美国滑雪板和装备购物网站:Skis.com
2018/12/20 全球购物
家具厂厂长岗位职责
2014/01/01 职场文书
电脑销售顾问自荐信
2014/01/29 职场文书
教师批评与自我批评材料
2014/10/16 职场文书
党的群众路线教育实践活动个人整改措施落实情况
2014/11/04 职场文书
2015年高校辅导员工作总结
2015/04/20 职场文书
学子宴致辞大全
2015/07/27 职场文书
公务员的复习计划书,请收下!
2019/07/15 职场文书
个人工作总结(管理人员)范文
2019/08/13 职场文书
mysql sql常用语句大全
2022/06/21 MySQL