1. 程式人生 > >利用Proxy代理和Reflect物件實現自定義原型鏈

利用Proxy代理和Reflect物件實現自定義原型鏈

1. 將代理作為原型鏈

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


上述例子中,在物件上定義屬性的操作不需要操作物件原型,所以代理中的defineProperty陷阱永遠不會被呼叫。

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

    

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


2. 將代理作為類的原型


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