ES6 Decorators(修飾器)
修飾器(Decorator)是一個函數(shù),用來修改類的行為。這是ES7的一個提案,目前Babel轉(zhuǎn)碼器已經(jīng)支持
我們在游戲大型項目種經(jīng)常會用到的方法,現(xiàn)在es6直接支持
想要使用Decorator的話需要我們配置一下文件夾,配置一下環(huán)境
npm install babel-plugin-transform-decorators-legacy --save-dev
完事配置一下babelrc文件
"plugins": ["transform-decorators-legacy"]
先說一下裝飾器的特點
裝飾器本質(zhì)是一個函數(shù)
@hometown hometown()
裝飾對象可以使用多個裝飾器
@hometown("山西") @school class Student{ constructor(name){ this.name=name; } @studyke("HTML") study(){ console.log(this.name+" is studying"+this.ke+"!") } }
裝飾器可以帶參數(shù)
function hometown(diqu){ //target.home="xx"; return function(target){ target.home=diqu; } } @hometown("山西") class...
裝飾器修飾 類
function school(target){ console.log("123") target.schoolName="xxxx"; } function hometown(diqu){ //target.home="xx"; 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(){ }
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/84169.html
摘要:前言今天閑來時看了看中的新標(biāo)準(zhǔn)之一,裝飾器。過程中忽覺它和中的注解有一些類似之處,并且當(dāng)前版本的中已經(jīng)支持它了,所以,就動手在一個應(yīng)用中嘗鮮初體驗了一番。另外,由于裝飾器目前還是中的一個提案,其中具體細(xì)節(jié)可能還會更改。 前言 今天閑來時看了看ES7中的新標(biāo)準(zhǔn)之一,裝飾器(Decorator)。過程中忽覺它和Java中的注解有一些類似之處,并且當(dāng)前版本的TypeScript中已經(jīng)支持它了...
摘要:所以這是一篇插隊的文章,用于去理解中的裝飾器和概念。因此,該的作用就是根據(jù)入?yún)⒎祷鼐唧w的描述符。其次局部來看,裝飾器具體應(yīng)用表達(dá)式是,其函數(shù)簽名和是一模一樣。等裝飾器語法,是和直接使用是等效等價的。 ================前言=================== 初衷:以系列故事的方式展現(xiàn) MobX 源碼邏輯,盡可能以易懂的方式講解源碼; 本系列文章: 《【用故事解...
摘要:幸運的是,已經(jīng)提供了對這個新語法的支持。而且函數(shù)綁定語法屬于草案中的特性,尚未納入標(biāo)準(zhǔn)。方案和方案會增加代碼量方案需要引入第三方庫,不過提供了很多使用的裝飾器。常用的方案是方案和方案刪除箭頭函數(shù)刪除 問題 對于大多數(shù)前端開發(fā)來說,JavaScript 的 this 關(guān)鍵字會造成諸多困擾,由于 JavaScript 代碼中的 this 指向并不清晰。在寫react應(yīng)用時,也會也到很多作...
摘要:更多前端技術(shù)和知識點,搜索訂閱號菌訂閱不會改變原有的對象,而是在其基礎(chǔ)上進(jìn)行拓展。 showImg(https://segmentfault.com/img/remote/1460000019865720?w=640&h=645); ?? 更多前端技術(shù)和知識點,搜索訂閱號 JS 菌 訂閱 不會改變原有的對象,而是在其基礎(chǔ)上進(jìn)行拓展。 實現(xiàn)原理 創(chuàng)建一個 A 類 A 類中的屬性和方法使...
閱讀 941·2021-11-16 11:56
閱讀 1749·2021-11-16 11:45
閱讀 3256·2021-10-08 10:13
閱讀 4203·2021-09-22 15:27
閱讀 785·2019-08-30 11:03
閱讀 707·2019-08-30 10:56
閱讀 1012·2019-08-29 15:18
閱讀 1793·2019-08-29 14:05