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

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

TypeScript函數(shù)重載

TypeScript函數(shù)重載

有只小跳蛙 2019-12-11 13:09:26
TypeScript語言規(guī)范的6.3節(jié)討論了函數(shù)重載,并提供了有關(guān)如何實(shí)現(xiàn)此功能的具體示例。但是,如果我嘗試這樣的事情:export class LayerFactory {     constructor (public styleFactory: Symbology.StyleFactory) { }    createFeatureLayer (userContext : Model.UserContext, mapWrapperObj : MapWrapperBase) : any {                    throw "not implemented";    }                     createFeatureLayer(layerName : string, style : any) : any {        throw "not implemented";     }        }我收到一個(gè)編譯器錯(cuò)誤,指示重復(fù)的標(biāo)識(shí)符,即使函數(shù)參數(shù)的類型不同。即使我向第二個(gè)createFeatureLayer函數(shù)添加了一個(gè)附加參數(shù),我仍然會(huì)遇到編譯器錯(cuò)誤。請(qǐng)給我個(gè)主意。
查看完整描述

3 回答

?
斯蒂芬大帝

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

這可能是因?yàn)?,?dāng)兩個(gè)函數(shù)都編譯為JavaScript時(shí),它們的簽名是完全相同的。由于JavaScript沒有類型,我們最終創(chuàng)建了兩個(gè)帶有相同數(shù)量參數(shù)的函數(shù)。因此,TypeScript限制我們創(chuàng)建此類函數(shù)。


TypeScript支持基于參數(shù)數(shù)量的重載,但是如果將其與OO語言進(jìn)行比較,則要遵循的步驟有些不同。在回答另一個(gè)SO問題時(shí),有人用一個(gè)很好的例子來解釋它:方法重載?。


基本上,我們正在做的是,我們只創(chuàng)建一個(gè)函數(shù)和許多聲明,以使TypeScript不會(huì)產(chǎn)生編譯錯(cuò)誤。當(dāng)此代碼編譯為JavaScript時(shí),將僅可見具體功能。由于可以通過傳遞多個(gè)參數(shù)來調(diào)用JavaScript函數(shù),因此它可以正常工作。



查看完整回答
反對(duì) 回復(fù) 2019-12-12
  • 3 回答
  • 0 關(guān)注
  • 632 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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