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 ajax post提交数据乱码
Nov 05 Javascript
JavaScript中的console.trace()函数介绍
Dec 29 Javascript
原生javascript实现图片按钮切换
Jan 12 Javascript
JavaScript判断变量是否为空的自定义函数分享
Jan 31 Javascript
javascript实现框架高度随内容改变的方法
Jul 23 Javascript
javascript原型继承工作原理和实例详解
Apr 07 Javascript
AngularJS表达式讲解及示例代码
Aug 16 Javascript
Javascript 高性能之递归,迭代,查表法详解及实例
Jan 08 Javascript
jQuery的中 is(':visible') 解析及用法(必看)
Feb 12 Javascript
使用Bootrap和Vue实现仿百度搜索功能
Oct 26 Javascript
微信小程序左滑动显示菜单功能的实现
Jun 14 Javascript
原生JavaScript实现五子棋游戏
Nov 09 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 金额数字转换成英文
2010/05/06 PHP
很棒的学习jQuery的12个网站推荐
2011/04/28 Javascript
JQuery实现用户名无刷新验证的小例子
2013/03/22 Javascript
select、radio表单回显功能实现避免使用jquery载入赋值
2013/06/08 Javascript
jquery弹出框的用法示例(一)
2013/08/26 Javascript
判断文件是否正在被使用的JS代码
2013/12/21 Javascript
IE下使用jQuery重置iframe地址时内存泄露问题解决办法
2015/02/05 Javascript
详解JavaScript的内置对象
2016/12/07 Javascript
通过BootStrap-select插件 js jQuery控制select属性变化
2017/01/03 Javascript
jquery将标签元素的高设为屏幕的百分比
2017/04/19 jQuery
jQuery表单设置值的方法
2017/06/30 jQuery
Angularjs的启动过程分析
2017/07/18 Javascript
nodejs实现爬取网站图片功能
2017/12/14 NodeJs
基于vue-cli 打包时抽离项目相关配置文件详解
2018/03/07 Javascript
layui表格checkbox选择全选样式及功能的实例
2018/03/07 Javascript
node基于puppeteer模拟登录抓取页面的实现
2018/05/09 Javascript
浅谈vue3中effect与computed的亲密关系
2019/10/10 Javascript
Python中使用glob和rmtree删除目录子目录及所有文件的例子
2014/11/21 Python
Python访问纯真IP数据库脚本分享
2015/06/29 Python
Python自定义函数定义,参数,调用代码解析
2017/12/27 Python
Python遍历pandas数据方法总结
2018/02/09 Python
解决Spyder中图片显示太小的问题
2018/04/27 Python
python微元法计算函数曲线长度的方法
2018/11/08 Python
基于TensorFlow常量、序列以及随机值生成实例
2020/01/04 Python
python使用paramiko实现ssh的功能详解
2020/03/06 Python
浅谈Python程序的错误:变量未定义
2020/06/02 Python
有关HTML5 Video对象的ontimeupdate事件(Chrome上无效)的问题
2013/07/19 HTML / CSS
html5小程序飞入购物车(抛物线绘制运动轨迹点)
2020/10/19 HTML / CSS
水电工岗位职责
2014/02/12 职场文书
巡警年度自我鉴定
2014/02/21 职场文书
会计求职自荐信范文
2015/03/04 职场文书
2015年学校政教工作总结
2015/07/20 职场文书
公司岗位说明书
2015/10/08 职场文书
PyCharm 安装与使用配置教程(windows,mac通用)
2021/05/12 Python
分析MySQL抛出异常的几种常见解决方式
2021/05/18 MySQL
淡雅古典唯美少女娇媚宁静迷人写真
2022/03/21 杂记