利用Proxy代理和Reflect對象實現自定義原型鏈

1. 將代理作爲原型鏈

    用Object.create( )方法創建原型鏈,同時設置自定義的defineProperty


上述例子中,在對象上定義屬性的操作不需要操作對象原型,所以代理中的defineProperty陷阱永遠不會被調用。

自定義get和set方法後,得到下面修改後的代碼

    

下面的例子使用Promise對象檢驗代理原型鏈,捕獲get陷阱


2. 將代理作爲類的原型


這裏,如果用ES6中的方式創建Person類,則不會出現上述錯誤(我也不知道爲什麼,求解釋)



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章