您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關(guān)JavaScript中修飾符的作用是什么,小編覺(jué)得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說(shuō),跟著小編一起來(lái)看看吧。
用最簡(jiǎn)單的形式來(lái)說(shuō),修飾符是用一段代碼包裝另一段代碼的方式--字面上的“修飾”。
這個(gè)概念你以前可能聽(tīng)說(shuō)過(guò),就是“功能組合”,或者“高階函數(shù)”。
怎么使用JavaScript修飾符?
修飾符使用一個(gè)在ES2017中定義的特殊語(yǔ)法,在被修飾的代碼前放置一個(gè)@開(kāi)頭的符號(hào)。注意:在寫(xiě)這篇文章的時(shí)候,修飾符已經(jīng)處于“第2階段草案”,這表示它們肯定會(huì)被最終完成,但目前仍然有可能發(fā)生變化。為什么使用修飾符?
修飾符的不同類(lèi)型
屬性修飾符用于類(lèi)的某個(gè)成員--不管它們是屬性、方法、getter還是setter。
這類(lèi)修改符函數(shù)調(diào)用時(shí)會(huì)傳入三個(gè)參數(shù):
target(目標(biāo))–成員所在的類(lèi)。name(名稱)–類(lèi)成員的名稱。
descriptor(描述符)–成員描述符。本質(zhì)上是傳入Object.defineProperty的對(duì)象。
典型的應(yīng)用示例是@readonly。現(xiàn)在起來(lái)很簡(jiǎn)單:
只需要通過(guò)設(shè)置屬性描述符的“writable”標(biāo)記為false。
然而我們?cè)僮龅煤靡恍N覀兛梢杂貌煌男袨閬?lái)改變修飾功能。比如,記錄所有輸入和輸出:
這段代碼使用新的方法取代了原來(lái)的方法,新方法會(huì)記錄參數(shù),調(diào)用原來(lái)的方法,然后記錄原有方法的輸出。
注意我們使用了展開(kāi)運(yùn)算符來(lái)自動(dòng)從傳入的所有參數(shù)構(gòu)建數(shù)組,這種新語(yǔ)法用來(lái)代替以前的arguments值。
這里我們接受一個(gè)類(lèi)作為參數(shù),然后返回一個(gè)新的函數(shù)來(lái)充當(dāng)構(gòu)造函數(shù)。它只是單純地記錄參數(shù)和構(gòu)造函數(shù)通過(guò)這些參數(shù)構(gòu)造出來(lái)的新實(shí)例。
比如:
我們可以看到構(gòu)造Example類(lèi)實(shí)例時(shí)會(huì)記錄提供給它的參數(shù),而且構(gòu)造出來(lái)的值確實(shí)是Example的實(shí)例。正是我們想要的。
向類(lèi)修飾符傳遞參數(shù)與向類(lèi)成員修飾符傳遞參數(shù)。
以上就是JavaScript中修飾符的作用是什么,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見(jiàn)到或用到的。希望你能通過(guò)這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。