溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

JavaScript中修飾符的作用是什么

發(fā)布時(shí)間:2021-08-02 17:25:52 來(lái)源:億速云 閱讀:291 作者:Leah 欄目:開(kāi)發(fā)技術(shù)

本篇文章給大家分享的是有關(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)成員修飾符

  屬性修飾符用于類(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。

然后在類(lèi)屬性上像這樣使用:

  然而我們?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è)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(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)容。

AI