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 相关文章推荐
如何实现iframe(嵌入式帧)的自适应高度
Jul 26 Javascript
Javascript公共脚本库系列(一): 弹出层脚本
Feb 24 Javascript
jquery attr 设定src中含有&(宏)符号问题的解决方法
Jul 26 Javascript
YUI Compressor压缩JavaScript原理及微优化
Jan 07 Javascript
使用jQuery清空file文件域的解决方案
Apr 12 Javascript
限制复选框最多选择项的实现代码
May 30 Javascript
深入理解AngularJS中的ng-bind-html指令和$sce服务
Sep 08 Javascript
jquery平滑滚动到顶部插件使用详解
May 08 jQuery
纯js实现的积木(div层)拖动功能示例
Jul 19 Javascript
AngularJS中的路由使用及实现代码
Oct 09 Javascript
浅谈在vue项目中如何定义全局变量和全局函数
Oct 24 Javascript
Vue实现图书管理小案例
Dec 03 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
dede3.1分页文字采集过滤规则详说(图文教程)续四
2007/04/03 PHP
解析PHP中的file_get_contents获取远程页面乱码的问题
2013/06/25 PHP
浅谈PHP接收POST数据方式
2015/06/05 PHP
解决laravel 表单提交-POST 异常的问题
2019/10/15 PHP
JS request函数 用来获取url参数
2010/05/17 Javascript
JS面向对象编程 for Cookie
2010/09/19 Javascript
document.addEventListener使用介绍
2014/03/07 Javascript
浏览器窗口大小变化时使用resize事件对框架不起作用的解决方法
2014/05/11 Javascript
javacript使用break内层跳出外层循环分析
2015/01/12 Javascript
将 vue 生成的 js 上传到七牛的实例
2017/07/28 Javascript
Javascript中的getter和setter初识
2017/08/17 Javascript
bootstrap日期插件daterangepicker使用详解
2017/10/19 Javascript
使用Vue-cli3.0创建的项目 如何发布npm包
2019/10/10 Javascript
详解JavaScript中new操作符的解析和实现
2020/09/04 Javascript
python处理json数据中的中文
2014/03/06 Python
在Python的Flask框架中实现全文搜索功能
2015/04/20 Python
python查询sqlite数据表的方法
2015/05/08 Python
Python贪吃蛇游戏编写代码
2020/10/26 Python
Python OpenCV实现图片上输出中文
2018/01/22 Python
详解分布式任务队列Celery使用说明
2018/11/29 Python
python基于递归解决背包问题详解
2019/07/03 Python
tensorflow模型的save与restore,及checkpoint中读取变量方式
2020/05/26 Python
解决Tensorflow2.0 tf.keras.Model.load_weights() 报错处理问题
2020/06/12 Python
python如何调用java类
2020/07/05 Python
matplotlib之pyplot模块坐标轴标签设置使用(xlabel()、ylabel())
2021/02/22 Python
css3圆角样式分享自定义按钮样式
2013/12/27 HTML / CSS
基于HTML5超酷摄像头(HTML5 webcam)拍照功能实现代码
2012/12/13 HTML / CSS
main 主函数执行完毕后,是否可能会再执行一段代码,给出说明
2012/12/05 面试题
土木工程个人自荐信范文
2013/11/30 职场文书
吸烟检讨书2000字
2014/02/13 职场文书
老公保证书范文
2014/04/29 职场文书
个人欠款担保书
2014/05/20 职场文书
开工仪式策划方案
2014/05/23 职场文书
2016年公司中秋节致辞
2015/11/26 职场文书
简历上的自我评价,该怎么写呢?
2019/06/13 职场文书
一文搞懂MySQL索引页结构
2022/02/28 MySQL