1
是否可以定義攔截typeof proxyObject
的處理程序屬性? Mozilla列出的陷阱都沒有列爲攔截。是否可以使用ES2016代理攔截「typeof」操作?
是否可以定義攔截typeof proxyObject
的處理程序屬性? Mozilla列出的陷阱都沒有列爲攔截。是否可以使用ES2016代理攔截「typeof」操作?
不可能攔截typeof
。代理對象的類型將與代理目標相同。
您可以在這裏的規範看到這一點:http://www.ecma-international.org/ecma-262/7.0/#sec-typeof-operator-runtime-semantics-evaluation與所述桌子
代理是一個對象,並且它是否實現[[Call]]
取決於傳遞到代理在創建時的target
類型。你可以在http://www.ecma-international.org/ecma-262/7.0/#sec-proxycreate步驟7中看到。所以如果你傳遞了一個函數(它們全都實現[[Call]]
),那麼代理也會被執行,代理將返回function
代替typeof
。
你爲什麼要這樣做? –