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 相关文章推荐
iis6+javascript Add an Extension File
Jun 13 Javascript
jquery的ajax请求全面了解
Mar 20 Javascript
javascript中声明函数的方法及调用函数的返回值
Jul 22 Javascript
node.js中的console.timeEnd方法使用说明
Dec 09 Javascript
jQuery+PHP+MySQL二级联动下拉菜单实例讲解
Oct 27 Javascript
莱鸟介绍javascript onclick事件
Jan 06 Javascript
JavaScript代码实现左右上下自动晃动自动移动
Apr 08 Javascript
浅析ES6的八进制与二进制整数字面量
Aug 30 Javascript
JS处理数据四舍五入(tofixed与round的区别详解)
Oct 26 Javascript
JSON.stringify()方法讲解
Jan 31 Javascript
js实现多个倒计时并行 js拼团倒计时
Feb 25 Javascript
用React Native制作一个简单的游戏引擎
May 27 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
第十二节 类的自动加载 [12]
2006/10/09 PHP
详解no input file specified 三种解决方法
2019/11/29 PHP
一些常用的Javascript函数
2006/12/22 Javascript
JavaScript使用cookie
2007/02/02 Javascript
一段多浏览器的"复制到剪贴板"javascript代码
2007/03/27 Javascript
jquery获取ASP.NET服务器端控件dropdownlist和radiobuttonlist生成客户端HTML标签后的value和text值
2010/06/28 Javascript
扩展js对象数组的OrderByAsc和OrderByDesc方法实现思路
2013/05/17 Javascript
JQuery-tableDnD 拖拽的基本使用介绍
2013/07/04 Javascript
jQuery判断div随滚动条滚动到一定位置后停止
2014/04/02 Javascript
基于Bootstrap+jQuery.validate实现Form表单验证
2014/12/16 Javascript
深入理解jquery中的each用法
2016/12/14 Javascript
AngularJS实现controller控制器间共享数据的方法示例
2017/10/30 Javascript
JS实现数组简单去重及数组根据对象中的元素去重操作示例
2018/01/05 Javascript
Vue组件库发布到npm详解
2018/02/17 Javascript
vue项目tween方法实现返回顶部的示例代码
2018/03/02 Javascript
30分钟快速入门掌握ES6/ES2015的核心内容(上)
2018/04/18 Javascript
详解JavaScript事件循环机制
2018/09/07 Javascript
详解nodejs http请求相关总结
2019/03/31 NodeJs
Vue.js标签页组件使用方法详解
2019/10/19 Javascript
vue中在vuex的actions中请求数据实例
2019/11/08 Javascript
vuejs实现下拉框菜单选择
2020/10/23 Javascript
记录Django开发心得
2014/07/16 Python
Python实现的飞速中文网小说下载脚本
2015/04/23 Python
Python编程实战之Oracle数据库操作示例
2017/06/21 Python
python 解决cv2绘制中文乱码问题
2019/12/23 Python
python range实例用法分享
2020/02/06 Python
PyCharm+Pipenv虚拟环境开发和依赖管理的教程详解
2020/04/16 Python
python 实现简单的计算器(gui界面)
2020/11/11 Python
详解CSS3选择器的使用方法汇总
2015/11/24 HTML / CSS
css3中less实现文字长阴影(long shadow)
2020/04/24 HTML / CSS
我的画教学反思
2014/04/28 职场文书
销售队伍口号
2014/06/11 职场文书
船舶工程技术专业求职信
2014/08/07 职场文书
个人创业事迹材料
2014/12/30 职场文书
2016年班主任新年寄语
2015/08/18 职场文书
spring cloud eureka 服务启动失败的原因分析及解决方法
2022/03/17 Java/Android