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 相关文章推荐
js FLASH幻灯片字符串中有连接符&的处理方法
Mar 01 Javascript
JavaScript中创建对象和继承示例解读
Feb 12 Javascript
JavaScript闭包实例讲解
Apr 22 Javascript
jquery实现标签支持图文排列带上下箭头按钮的选项卡
Mar 14 Javascript
jQuery实现灰蓝风格标准二级下拉菜单效果代码
Aug 31 Javascript
Bootstrap树形组件jqTree的简单封装
Jan 25 Javascript
Angular 1.x个人使用的经验小结
Jul 19 Javascript
react-native封装插件swiper的使用方法
Mar 20 Javascript
jQuery实现适用于移动端的跑马灯抽奖特效示例
Jan 18 jQuery
VUE脚手架具体使用方法
May 20 Javascript
vue mvvm数据响应实现
Nov 11 Javascript
vue使用echarts画组织结构图
Feb 06 Vue.js
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
ThinkPHP查询返回简单字段数组的方法
2014/08/25 PHP
PHP fastcgi模式上传大文件(大约有300多K)报错
2014/09/28 PHP
php图片裁剪函数
2018/10/31 PHP
javascript数组快速打乱重排的方法
2014/01/02 Javascript
JS实现两个大数(整数)相乘
2014/04/28 Javascript
jQuery实现鼠标经过图片变亮其他变暗效果
2015/05/08 Javascript
JavaScript中调用函数的4种方式代码实例
2015/07/08 Javascript
微信小程序 数据访问实例详解
2016/10/08 Javascript
AngularJS模板加载用法详解
2016/11/04 Javascript
javascript基于原型链的继承及call和apply函数用法分析
2016/12/15 Javascript
jQuery自定义图片上传插件实例代码
2017/04/04 jQuery
AngularJS  ng-repeat遍历输出的用法
2017/06/19 Javascript
JavaScript学习总结之正则的元字符和一些简单的应用
2017/06/30 Javascript
用React实现一个完整的TodoList的示例代码
2017/10/30 Javascript
jQuery实现获取动态添加的标签对象示例
2018/06/28 jQuery
浅谈JS和jQuery的区别
2019/03/27 jQuery
Python程序中使用SQLAlchemy时出现乱码的解决方案
2015/04/24 Python
在Python的Django框架中获取单个对象数据的简单方法
2015/07/17 Python
django admin 自定义替换change页面模板的方法
2019/08/23 Python
python使用openpyxl操作excel的方法步骤
2020/05/28 Python
python和php学习哪个更有发展
2020/06/17 Python
详解python中的闭包
2020/09/07 Python
python RSA加密的示例
2020/12/09 Python
澳大利亚设计的婴儿和女孩的衣服:Oobi
2018/12/16 全球购物
香港彩色隐形眼镜在线商店:Stunninglens(全球免费送货)
2019/05/10 全球购物
欧洲最古老的鞋厂:Peter Kaiser
2019/11/05 全球购物
中间件分为哪几类
2012/03/14 面试题
大学生求职简历的自我评价范文
2013/10/12 职场文书
会计电算化应届生自荐信
2014/02/25 职场文书
小学生感恩父母演讲稿
2014/08/28 职场文书
终止或解除劳动合同及劳动关系的证明书
2014/10/06 职场文书
违纪开除通知书
2015/04/25 职场文书
2016年习总书记讲话学习心得体会
2016/01/20 职场文书
忠诚教育学习心得体会
2016/01/23 职场文书
2016年大学生党员承诺书
2016/03/24 职场文书
MySQL8.0升级的踩坑历险记
2021/11/01 MySQL