裝飾器Decorator的需要注意的地方

2022-03-27 14:33:07 字數 758 閱讀 8302

object.defineproperty(target, prop, desc): 給物件新增或修改屬性的

屬性值:

target 需要定義屬性的當前物件

prop 當前需要定義的屬性名 型別:字元

desc 屬性描述符 型別:物件

value: 預設值 undefined

writable: 是否修改 型別:布林 false

configrable 可否刪除|重新定義 型別:布林 false

enumerable 可否列舉 型別:布林 false

get 當訪問屬性時觸發該方法getter,預設為undefined

set 當屬性被修改時觸發該方法setter 屬性劫持,預設為undefined

注意:get/set 和value/writable 是互斥的。

設定|新增 物件屬性

1. 物件.屬性|物件['屬性'] 預設可以修改,可以刪除,可以列舉的

2. object.defineproperty() 預設 不可以修改,不可以刪除,不可以列舉的

function 裝飾器名 (target,prop,descriptor)

@裝飾器名 類

@裝飾器名 類的例項屬性|靜態屬性

@裝飾器名 類的例項方法|靜態方法

使用場景(用在哪)

mobx / angluarts

參考:

裝飾器模式 decorator

所有的說明和解釋都在 中有注釋來標明 package mode.decorator 這裡定義乙個介面,在介面中定義我們要執行的操作。以後所有的裝飾器以及我們要裝飾的物件都要實現這個介面。有了這樣的大前提,我們就可以其用 sourcable來定義我們的裝飾器和要裝飾的物件了 public inte c...

裝飾器模式 Decorator

設計原則 1 類應該對擴充套件開發,對修改關閉。特點 1 裝飾物件和真實物件有相同的介面。這樣客戶端物件就可以以和真實物件相同的方式和裝飾物件互動。2 裝飾物件包含乙個真實物件的引用 reference 3 裝飾物件接收所有來自客戶端的請求,它把這些請求 給真實的物件。4 裝飾物件可以在 這些請求之...

裝飾器模式(Decorator)

裝飾器模式的作用 動態地給乙個物件新增一些額外的職責,就增加功能來說,裝飾器模式比生成子類更加靈活。裝飾器模式結構圖 各個類或介面的職能 component是定義乙個物件介面,可以給這些物件增加功能。concretecomponent定義乙個具體的物件。decorator是裝飾抽象類,為物件增加功能...