Open5
ある Web API が使われているか調べたい

例えば IntersectionObserver がアプリケーションで使われているか調べたい

JS 実行時の new IntersectionObserver
を検知できるかな?
Proxy でできる?

handler3 = {
get(target, prop, receiver) {
console.log("called", " target: ", target, ", prop: ", prop, ", receiver: ",receiver);
return target[prop];
},
};
IntersectionObserver2 = new Proxy(IntersectionObserver, handler3)
new IntersectionObserver2(() => {})
を実行すると
called target: ƒ IntersectionObserver() { [native code] } , prop: prototype , receiver:
になるので取れてそう

delete IntersectionObserver
を実行すると
typeof IntersectionObserver
を undefined にできる
けど IntersectionObserver を使っているコードは自前で polyfill しがちなので、エラーにならずクラスの利用を検知できない
例

自前 polyfill されていればアプリケーションは壊れないので問題はないけど、検知したい
検知した上でちゃんと polyfill されているかも確認したほうが安心ができる