,我們可以讀出來自物體的屬性時,使用此模式創建掛鉤OBJ?如何在讀取對象的屬性時調用函數?如果閱讀<em>任何時候和對象上的所有</em>性質比如有創建一個鉤子的方式</p> <pre><code>const obj = {}; Object.defineProperty(obj, 'x', { get: function() { return require('x'); } }); </code></pre> <p>我很納悶:
例如,當代碼嘗試訪問在obj
上不存在的屬性'y'時,掛鉤仍然會被調用。
這是關鍵部分:如果我事先知道對象的所有屬性,我可以循環它們。但是在這種情況下,屬性可能會在稍後添加到對象中,或者可能會讀取未預料的屬性(最終用戶會調用某些意外事件)。
看看['Proxy'](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy) – Andreas