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

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

Typescript / ECMAScript 中的地圖地圖

Typescript / ECMAScript 中的地圖地圖

胡說叔叔 2023-05-25 17:13:26
這是我個(gè)人認(rèn)為在各種語言中都是正確的,但在這里不是。我一定是對(duì) Typescript 的一個(gè)方面一無所知,但我不能那么容易地確定差距在哪里。實(shí)施需要地圖的地圖。頂部映射是一個(gè)字符串鍵,以及字符串鍵和字符串值的映射。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>() ?第一個(gè)訪問者的錯(cuò)誤:this.aTask(this.myMap["key1"]);元素隱式具有“任何”類型,因?yàn)轭愋汀癕ap<string, Map<string, string>>”沒有索引簽名。你的意思是叫'get'嗎?第二個(gè)訪問器的錯(cuò)誤:this.aTask(this.myMap.get("key1"));'Map<string, string> | 類型的參數(shù) undefined' 不可分配給 'Map<string, string>' 類型的參數(shù)。類型“undefined”不可分配給類型“Map<string, string>”。
查看完整描述

1 回答

?
守候你守候我

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

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


TypeScript 不允許你這樣做


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

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


async someWork() {

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

    if (val) {

        this.aTask(val);

    }

}



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

添加回答

舉報(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)