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的类继承
Mar 05 Javascript
javascript的字符串按引用复制和传递,按值来比较介绍与应用
Dec 28 Javascript
如何使用Javascript获取距今n天前的日期
Jul 08 Javascript
js类式继承的具体实现方法
Dec 31 Javascript
javascript数组快速打乱重排的方法
Jan 02 Javascript
详解js树形控件—zTree使用总结
Dec 28 Javascript
js实现导航吸顶效果
Feb 24 Javascript
详解webpack2+node+react+babel实现热加载(hmr)
Aug 24 Javascript
JS处理数据四舍五入(tofixed与round的区别详解)
Oct 26 Javascript
浅谈vue中改elementUI默认样式引发的static与assets的区别
Feb 03 Javascript
JS处理一些简单计算题
Feb 24 Javascript
JavaScript文档加载模式以及元素获取
Jul 28 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
ThinkPHP实现跨模块调用操作方法概述
2014/06/20 PHP
php实现向javascript传递数组的方法
2015/07/27 PHP
用PHP做了一个领取优惠券活动的示例代码
2019/07/05 PHP
php连接sftp的作用以及实例代码
2019/09/23 PHP
JavaScript词法作用域与调用对象深入理解
2012/11/29 Javascript
JavaScript中for-in遍历方式示例介绍
2014/02/11 Javascript
对js关键字命名的疑问介绍
2014/04/25 Javascript
22点关于jquery性能优化的建议
2014/05/28 Javascript
jquery中$(#form :input)与$(#form input)的区别
2014/08/18 Javascript
node.js中的fs.unlink方法使用说明
2014/12/15 Javascript
javascript实现的固定位置悬浮窗口实例
2015/04/30 Javascript
JQuery中DOM事件绑定用法详解
2015/06/13 Javascript
Jquery-1.9.1源码分析系列(十一)之DOM操作
2015/11/25 Javascript
javascript实现数字倒计时特效
2016/03/30 Javascript
浅析JavaScript回调函数应用
2016/05/22 Javascript
jquery attr()设置和获取属性值实例教程
2016/09/25 Javascript
详解javascript立即执行函数表达式IIFE
2017/02/13 Javascript
纯JavaScript实现实时反馈系统时间
2017/10/26 Javascript
vue实现一拉到底的滑动验证
2019/07/25 Javascript
vue3实现v-model原理详解
2019/10/09 Javascript
小程序登录之支付宝授权的实现示例
2019/12/13 Javascript
微信小程序以ssm做后台开发的实现示例
2020/04/08 Javascript
[50:58]2018DOTA2亚洲邀请赛3月29日 小组赛A组OpTic VS Newbee
2018/03/30 DOTA
Python基于OpenCV实现视频的人脸检测
2018/01/23 Python
Python爬取qq空间说说的实例代码
2018/08/17 Python
对python字典过滤条件的实例详解
2019/01/22 Python
Python实现判断一个整数是否为回文数算法示例
2019/03/02 Python
使用HTML5 Canvas为图片填充颜色和纹理的教程
2016/03/21 HTML / CSS
德国高尔夫商店:Par71.de
2020/11/29 全球购物
报关简历自我评价怎么写
2013/09/19 职场文书
公司保密承诺书
2014/03/27 职场文书
法定代表人授权委托书
2014/04/04 职场文书
小学班级口号
2014/06/09 职场文书
婚前财产协议书范本
2014/10/19 职场文书
个人学习群众路线心得体会
2014/11/05 职场文书
文明单位创建材料
2014/12/24 职场文书