最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

TypeScript踩坑之TS7053的問題及解決

 更新時(shí)間:2023年01月21日 08:22:36   作者:Anwel  
這篇文章主要介紹了TypeScript踩坑之TS7053的問題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

TypeScript踩坑之TS7053

錯(cuò)誤:TS7053: Element implicitly has an ‘any’ type because expression of type ‘string’ can’t be used to index type xxx

在 vue 中如果用 TypeScript 寫類似如下的代碼,用 []定位對(duì)象中的某一個(gè)屬性,因?yàn)門ypeScript的類型檢查,編譯會(huì)報(bào)TS7053錯(cuò)誤

const Map1 = {
    a: '1',
    b: '2',
    c: '3'
}
const Map2 = {
    d: '1',
    e: '2',
    f: '3'
}
function test(): void {
    let str = 'abcdef';
    let key = str.substr(1, 1);

    console.log(Map1[key]);
    console.log(Map2[key]);
}
test();

解決方法

就是另寫一個(gè)函數(shù)判斷一下對(duì)象有沒有key那個(gè)屬性

const Map1 = {
    a: '1',
    b: '2',
    c: '3'
}
const Map2 = {
    d: '1',
    e: '2',
    f: '3'
}
function isValidKey(key: string, obj: {[propName: string]: amy}): key is keyof typeof obj {
    return key in obj;
}

function test(): void {
    let str = 'abcdef';
    let key = str.substr(1, 1); // 'b'

	if (isValidKey(key, Map1) console.log(Map1[key]); // '2'
    if (isValidKey(key, Map2) console.log(Map2[key]); // 不會(huì)輸出
}
test();

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

三台县| 顺昌县| 陆丰市| 岑巩县| 武川县| 始兴县| 九台市| 安福县| 普宁市| 历史| 莆田市| 内江市| 阿尔山市| 长寿区| 呈贡县| 手游| 荔浦县| 资源县| 长春市| 大邑县| 安平县| 剑阁县| 阿拉善盟| 常宁市| 稷山县| 三穗县| 铜川市| 德保县| 太谷县| 金阳县| 吴旗县| 商河县| 垣曲县| 玉溪市| 西乌珠穆沁旗| 渭南市| 贵南县| 新沂市| 遵义市| 宕昌县| 于田县|