es6中的裝飾器decorator

2021-10-03 18:43:05 字數 843 閱讀 5604

裝飾器是一種與類(class)相關的語法,用來注釋或修改類和類方法。

可以看下面的例子

@testable

class

mytestableclass

function

testable

(target)

mytestableclass.istestable // true

所以,實際上:

@decorator

class

a// 等同於

classaa

=decorator(a

)||a;

基本上,類是作為裝飾器的引數傳入進去的,裝飾器是乙個對類進行處理的函式。裝飾器函式的第乙個引數,就是所要裝飾的目標類。

但是若乙個引數不夠,可以參考高階函式的寫法

function

testable

(istestable)

}@testable

(true

)class

mytestableclass

mytestableclass.istestable // true

@testable

(false

)class

myclass

myclass.istestable // false

symbol物件可以理解為建立出來的物件具有唯一性,且受js模組化的影響,建立出來的symbol物件只能在當前模組中使用,似於一種標識唯一性的id

fd

ES6學習之裝飾器

定義 修飾器是乙個對類進行處理的函式,用來修改類的行為 注 裝飾器只能用來修改類及類的方法 類的裝飾 testable class mytestableclass function testable target mytestableclass.istestable true 注 1 testabl...

ES 6 裝飾器與 React 高階元件

關於 decorator 到底是 es 6 引入的還是 es 7 引入的我也不是很明白了,兩種說法都有,這種問題懶得糾結了 在用的時候發現這個東西很好用,平常用處可能不大,但是結合 react 就很好使了。接下來就講一講。我搭建了乙個 react 開發環境,結合 babel 的外掛程式 babel ...

ES 6 裝飾器與 React 高階元件

關於 decorator 到底是 es 6 引入的還是 es 7 引入的我也不是很明白了,兩種說法都有,這種問題懶得糾結了 在用的時候發現這個東西很好用,平常用處可能不大,但是結合 react 就很好使了。接下來就講一講。我搭建了乙個 react 開發環境,結合 babel 的外掛程式 babel ...