第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

調(diào)用 Proxy 對(duì)象中的 get 方法而不是 set 方法

調(diào)用 Proxy 對(duì)象中的 get 方法而不是 set 方法

我開(kāi)始研究 JavaScript 代理對(duì)象,并遇到了一些奇怪的行為。我正在嘗試將一個(gè)數(shù)字推送到代理數(shù)組,但是,出乎我意料的是,get方法被調(diào)用(如果存在)!但是,如果我刪除get中的方法arrayHandler,set則會(huì)按預(yù)期調(diào)用,并且數(shù)字會(huì)被推送。為什么可能呢?class SomeClass {    public readonly name: String;    public originalData: Array<number> = [];    private arrayHandler = {        set(            target: Array<number>,            prop: number,            val: any,            reciever: any        ): boolean {            console.log("PROXY HANDLER SET");            target[prop] = val;            return true;        },        get(target: Array<number>, prop: number): void {            console.log("PROXY HANDLER GET");        },    };    public proxyToArray: any = new Proxy(this.originalData, this.arrayHandler);    constructor(name: String) {        this.name = name;    }}let item = new SomeClass("item-1");item.proxyToArray.push(1);
查看完整描述

1 回答

?
嗶嗶one

TA貢獻(xiàn)1854條經(jīng)驗(yàn) 獲得超8個(gè)贊

您需要在 getter 中返回目標(biāo):


class SomeClass {

    public readonly name: String;

    public originalData: Array<number> = [];


    private arrayHandler = {

        set(

            target: Array<number>,

            prop: number,

            val: any,

            reciever: any

        ): boolean {

            console.log("PROXY HANDLER SET");

            target[prop] = val;

            return true;

        },

        get(target: Array<number>, prop: number): any {

            console.log("PROXY HANDLER GET");

            return target[prop];

        },

    };

    public proxyToArray: any = new Proxy(this.originalData, this.arrayHandler);


    constructor(name: String) {

        this.name = name;

    }

}


let item = new SomeClass("item-1");

item.proxyToArray.push(1);


查看完整回答
反對(duì) 回復(fù) 2023-09-07
  • 1 回答
  • 0 關(guān)注
  • 114 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)