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对URL字符串进行编码/解码分析
Oct 25 Javascript
javascript web页面刷新的方法收集
Jul 02 Javascript
JS在IE和FF下attachEvent,addEventListener学习笔记
Nov 26 Javascript
jquery聚焦文本框与扩展文本框聚焦方法
Oct 12 Javascript
jQuery中eq()方法用法实例
Jan 05 Javascript
在Javascript中处理数组之toSource()方法的使用
Jun 09 Javascript
JavaScript两个变量交换值的实现方法
Mar 01 Javascript
Vue项目中最新用到的一些实用小技巧
Nov 06 Javascript
详解Vue+Element的动态表单,动态表格(后端发送配置,前端动态生成)
Apr 20 Javascript
JavaScript进阶(一)变量声明提升实例分析
May 09 Javascript
Element Collapse 折叠面板的使用方法
Jul 26 Javascript
介绍一下28个JS常用数组方法
May 06 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
PHP与SQL注入攻击[二]
2007/04/17 PHP
探讨fckeditor在Php中的配置详解
2013/06/08 PHP
php Session存储到Redis的方法
2013/11/04 PHP
php上传文件常见问题总结
2015/02/03 PHP
PHP批量去除BOM头内容信息代码
2016/03/11 PHP
php数据访问之查询关键字
2016/05/09 PHP
php实现分页功能的详细实例方法
2019/09/29 PHP
js 页面输出值
2008/11/30 Javascript
jquery无法设置checkbox选中即没有变成选中状态
2014/03/27 Javascript
react.js CMS 删除功能的实现方法
2017/04/17 Javascript
js评分组件使用详解
2017/06/06 Javascript
微信小程序的分类页面制作
2017/06/27 Javascript
详解Vue中一种简易路由传参办法
2017/09/15 Javascript
深入理解Vue生命周期、手动挂载及挂载子组件
2017/09/27 Javascript
JS实现可切换图片的幻灯切换效果示例
2019/05/24 Javascript
解决LayUI数据表格复选框不居中显示的问题
2019/09/25 Javascript
Python中的高级函数map/reduce使用实例
2015/04/13 Python
python3抓取中文网页的方法
2015/07/28 Python
centos6.7安装python2.7.11的具体方法
2017/01/16 Python
使用Python横向合并excel文件的实例
2018/12/11 Python
python try 异常处理(史上最全)
2019/03/07 Python
详解爬虫被封的问题
2019/04/23 Python
python3.4+pycharm 环境安装及使用方法
2019/06/13 Python
Python对Excel按列值筛选并拆分表格到多个文件的代码
2019/11/05 Python
flask框架自定义url转换器操作详解
2020/01/25 Python
python3实现将json对象存入Redis以及数据的导入导出
2020/07/16 Python
美国休闲服装品牌:Express
2016/09/24 全球购物
捷克汽车配件和工具销售网站:TorriaCars
2018/02/26 全球购物
台湾良兴购物网:EcLife
2019/12/01 全球购物
违反工作纪律检讨书
2014/02/15 职场文书
2014年妇幼卫生工作总结
2014/12/09 职场文书
2014预防青少年违法犯罪工作总结
2014/12/10 职场文书
高中数学教学反思范文
2016/02/18 职场文书
Pytorch 如何实现LSTM时间序列预测
2021/05/17 Python
elasticSearch-api的具体操作步骤讲解
2021/06/28 Java/Android
MySQL的InnoDB存储引擎的数据页结构详解
2022/03/03 MySQL