[英]How to proxify the instanciation of array with literal notation []
我可以檢測到通過 Array() 或 new Array() 創建的新實例。 但是關於 []?
const originalArray = Array;
Array = new Proxy(Array,{
construct(target, args) {
console.log('new array');
const newArray = Reflect.construct(originalArray, args);
return newArray;
},
apply(target,thisArg,argArray){
console.log('apply');
Reflect.apply(target,thisArg,argArray);
}
});
var a = [3,2];// no handler
var b = Array(3,2);// apply
var c = new Array(3,2);// new
不可能從文字語法中截獲 object 創建。
事實上,這在更早的時候是可能的,因為一個錯誤導致JSON 容易受到劫持而導致信息泄露。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.