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 相关文章推荐
基于jquery实现的鼠标拖拽元素复制并写入效果
Aug 23 Javascript
js和css写一个可以自动隐藏的悬浮框
Mar 05 Javascript
jquery form 加载数据示例
Apr 21 Javascript
js四舍五入数学函数round使用实例
May 09 Javascript
node.js中的favicon.ico请求问题处理
Dec 15 Javascript
jQuery中$this和$(this)的区别介绍(一看就懂)
Jul 06 Javascript
JavaScript实现仿新浪微博大厅和腾讯微博首页滚动特效源码
Sep 15 Javascript
javascript实现二级级联菜单的简单制作
Nov 19 Javascript
node.js基于express使用websocket的方法
Nov 09 Javascript
详解promise.then,process.nextTick, setTimeout 以及 setImmediate的执行顺序
Nov 21 Javascript
js 将多个对象合并成一个对象 assign方法的实现
Sep 24 Javascript
微信小程序抽奖组件的使用步骤
Jan 11 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
浅谈web上存漏洞及原理分析、防范方法(文件名检测漏洞)
2013/06/29 PHP
解析php类的注册与自动加载
2013/07/05 PHP
php preg_replace替换实例讲解
2013/11/04 PHP
PHP中怎样防止SQL注入分析
2014/10/23 PHP
PHP中使用SimpleXML检查XML文件结构实例
2015/01/07 PHP
php array_pop 删除数组最后一个元素实例
2016/11/02 PHP
PHP实现的mysql读写分离操作示例
2018/05/22 PHP
jquery实现多屏多图焦点图切换特效的方法
2015/05/04 Javascript
JQuery datepicker 用法详解
2015/12/25 Javascript
JavaScript数组实现数据结构中的队列与堆栈
2016/05/26 Javascript
JS结合bootstrap实现基本的增删改查功能
2016/07/22 Javascript
vue2.0的contextmenu右键弹出菜单的实例代码
2017/07/24 Javascript
解决vue路由后界面没有变化,但是链接有的问题
2018/09/01 Javascript
快速解决vue-cli在ie9+中无效的问题
2018/09/04 Javascript
jQuery插件实现的日历功能示例【附源码下载】
2018/09/07 jQuery
vue 使用vue-i18n做全局中英文切换的方法
2018/10/29 Javascript
vue拖拽组件使用方法详解
2018/12/01 Javascript
优雅的使用javascript递归画一棵结构树示例代码
2019/09/22 Javascript
JavaScript如何处理移动端拍摄图片旋转问题
2019/11/16 Javascript
python中enumerate的用法实例解析
2014/08/18 Python
Python爬取京东的商品分类与链接
2016/08/26 Python
Python实现基于二叉树存储结构的堆排序算法示例
2017/12/08 Python
Python实现获取汉字偏旁部首的方法示例【测试可用】
2018/12/18 Python
如何对python的字典进行排序
2020/06/19 Python
详解python算法常用技巧与内置库
2020/10/17 Python
美国高端寝具品牌:Coyuchi
2017/02/08 全球购物
法国女性内衣购物网站:Glamuse
2019/05/13 全球购物
美国运动鞋类和服装零售连锁店:Shoe Palace
2019/08/13 全球购物
Java软件工程师综合面试题笔试题
2013/09/08 面试题
教师绩效考核方案
2014/01/21 职场文书
2014财务人员自我评价范文
2014/09/21 职场文书
公务员党的群众路线教育实践活动学习心得体会
2014/10/30 职场文书
幼儿园2015年度工作总结
2015/04/01 职场文书
创业计划书之个人工作室
2019/08/22 职场文书
Redis调用Lua脚本及使用场景快速掌握
2022/03/16 Redis
海康机器人重磅发布全新算法开发平台VM4.2
2022/04/21 数码科技