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

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

打字稿函數(shù)在界面中返回不同類型的結果

打字稿函數(shù)在界面中返回不同類型的結果

一只斗牛犬 2022-05-14 15:10:38
myFuncResult interface {  abc: string}function myFunc():myFuncResult { if(something) return { abc:'abc' } //ok here return 'result' //but this line gave me warning}我有兩種基于條件的結果類型(對象和字符串),如何在我的界面中聲明它?
查看完整描述

2 回答

?
慕運維8079593

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

既然您要返回兩種不同的類型/接口(可以是字符串,也可以是myFuncResult字符串),為什么不使用管道運算符來創(chuàng)建聯(lián)合類型呢?


function myFunc(): myFuncResult | string {

    if (something)

        return { abc:'abc' };


    return 'result';

}

或者,您可以直接創(chuàng)建聯(lián)合類型:


type myFuncResult = { abc: string } | string;


function myFunc(): myFuncResult {

    if (something)

        return { abc:'abc' };


    return 'result';

}


查看完整回答
反對 回復 2022-05-14
?
狐的傳說

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

發(fā)生這種情況是因為string不等于接口類型myFuncResult。myFuncResult您可以使用abc變量返回類型:


myFunc(): myFuncResult {

    if (something) 

        return { abc:'abc' } //ok here    

    return {abc: 'result'} //but this line gave me warning

}

更新:


此外,null如果符合條件,您可以退貨:


myFunc():myFuncResult {

    if (something) 

       return { abc:'abc' } //ok here


    return null;

}


查看完整回答
反對 回復 2022-05-14
  • 2 回答
  • 0 關注
  • 107 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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