es7学习教程之Decorators(修饰器)详解

发布时间 - 2026-01-11 02:26:54    点击率:

本文主要给大家介绍的是关于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(){

  } 

总结

以上就是这篇文章的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。


# es7  # 修饰器  # decorators  # 装饰器  # 一文读懂ES7中的javascript修饰器  # 广灵  # 山西  # 是一个  # 的是  # 这是  # 相关内容  # 多个  # 给大家  # 可以使用  # 这篇文章  # 谢谢大家  # 多说  # 经常会  # 先说  # 有疑问  # 转码器  # Babel  # kemu  # plain  # npm 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 大学网站设计制作软件有哪些,如何将网站制作成自己app?  Laravel如何处理JSON字段_Eloquent原生JSON字段类型操作教程  ai格式如何转html_将AI设计稿转换为HTML页面流程【页面】  Laravel Eloquent性能优化技巧_Laravel N+1查询问题解决  Laravel广播系统如何实现实时通信_Laravel Reverb与WebSockets实战教程  高防服务器如何保障网站安全无虞?  如何用AI一键生成爆款短视频文案?小红书AI文案写作指令【教程】  香港网站服务器数量如何影响SEO优化效果?  无锡营销型网站制作公司,无锡网选车牌流程?  宙斯浏览器视频悬浮窗怎么开启 边看视频边操作其他应用教程  公司网站制作需要多少钱,找人做公司网站需要多少钱?  Laravel如何配置和使用队列处理异步任务_Laravel队列驱动与任务分发实例  高防服务器租用首荐平台,企业级优惠套餐快速部署  HTML5打空格有哪些误区_新手常犯的空格使用错误【技巧】  PHP正则匹配日期和时间(时间戳转换)的实例代码  使用spring连接及操作mongodb3.0实例  JavaScript实现Fly Bird小游戏  Win11怎么关闭专注助手 Win11关闭免打扰模式设置【操作】  如何彻底卸载建站之星软件?  文字头像制作网站推荐软件,醒图能自动配文字吗?  Laravel PHP版本要求一览_Laravel各版本环境要求对照  使用豆包 AI 辅助进行简单网页 HTML 结构设计  矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?  Laravel策略(Policy)如何控制权限_Laravel Gates与Policies实现用户授权  JavaScript如何实现继承_有哪些常用方法  如何在服务器上三步完成建站并提升流量?  Python文件流缓冲机制_IO性能解析【教程】  Laravel如何使用Eloquent ORM进行数据库操作?(CRUD示例)  Laravel如何实现多表关联模型定义_Laravel多对多关系及中间表数据存取【方法】  Laravel怎么使用Collection集合方法_Laravel数组操作高级函数pluck与map【手册】  微信小程序 配置文件详细介绍  Laravel怎么集成Log日志记录_Laravel单文件与每日日志配置及自定义通道【详解】  Laravel控制器是什么_Laravel MVC架构中Controller的作用与实践  JavaScript中如何操作剪贴板_ClipboardAPI怎么用  软银砸40亿美元收购DigitalBridge 强化AI资料中心布局  如何用已有域名快速搭建网站?  韩国服务器如何优化跨境访问实现高效连接?  Laravel怎么进行数据库事务处理_Laravel DB Facade事务操作确保数据一致性  php做exe能调用系统命令吗_执行cmd指令实现方式【详解】  edge浏览器无法安装扩展 edge浏览器插件安装失败【解决方法】  Google浏览器为什么这么卡 Google浏览器提速优化设置步骤【方法】  Laravel如何实现多级无限分类_Laravel递归模型关联与树状数据输出【方法】  如何在阿里云通过域名搭建网站?  php中::能调用final静态方法吗_final修饰静态方法调用规则【解答】  Laravel如何使用Contracts(契约)进行编程_Laravel契约接口与依赖反转  简单实现Android文件上传  javascript中的数组方法有哪些_如何利用数组方法简化数据处理  头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?  如何快速搭建高效可靠的建站解决方案?  香港服务器租用费用高吗?如何避免常见误区?