簡體   English   中英

如何用文字表示法代理數組的實例化 []

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM