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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Typescript / ECMAScript 中的地圖地圖

Typescript / ECMAScript 中的地圖地圖

胡說叔叔 2023-05-25 17:13:26
這是我個人認為在各種語言中都是正確的,但在這里不是。我一定是對 Typescript 的一個方面一無所知,但我不能那么容易地確定差距在哪里。實施需要地圖的地圖。頂部映射是一個字符串鍵,以及字符串鍵和字符串值的映射。class aClass{    myMap: Map<string, Map<string, string>>;    constructor ()    {        this.myMap = new Map<string, Map<string, string>>([            ["key1", new Map<string,string>()],            ["key2", new Map<string,string>()]        ]);    }    async aTask(map: Map<string,string>)    {        map.set("subKey1", "VALUE");    }    async someWork()    {        this.aTask(this.myMap["key1"]);        this.aTask(this.myMap.get("key1"));    }}如何在函數(shù) someWork() 中正確訪問 Map<string, string>() ?第一個訪問者的錯誤:this.aTask(this.myMap["key1"]);元素隱式具有“任何”類型,因為類型“Map<string, Map<string, string>>”沒有索引簽名。你的意思是叫'get'嗎?第二個訪問器的錯誤:this.aTask(this.myMap.get("key1"));'Map<string, string> | 類型的參數(shù) undefined' 不可分配給 'Map<string, string>' 類型的參數(shù)。類型“undefined”不可分配給類型“Map<string, string>”。
查看完整描述

1 回答

?
守候你守候我

TA貢獻1802條經(jīng)驗 獲得超10個贊

地圖,盡管是對象,但不會將它們的值放在地圖實例的屬性上,這就是為什么this.myMap["key1"]不起作用的原因。


TypeScript 不允許你這樣做


this.aTask(this.myMap.get("key1"));

因為.get不保證 key 存在于 Map 中;它警告您它可能已經(jīng)返回undefined。為了類型安全,請執(zhí)行以下操作:


async someWork() {

    const val = this.myMap.get("key1");

    if (val) {

        this.aTask(val);

    }

}



查看完整回答
反對 回復(fù) 2023-05-25
  • 1 回答
  • 0 關(guān)注
  • 143 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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