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

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

TypeScript函數(shù)重載

TypeScript函數(shù)重載

TypeScript語言規(guī)范的6.3節(jié)討論了函數(shù)重載,并提供了有關(guān)如何實現(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";     }        }我收到一個編譯器錯誤,指示重復的標識符,即使函數(shù)參數(shù)的類型不同。即使我向第二個createFeatureLayer函數(shù)添加了一個附加參數(shù),我仍然會遇到編譯器錯誤。請給我個主意。
查看完整描述

3 回答

?
揚帆大魚

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

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


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


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


查看完整回答
反對 回復 2019-10-28
  • 3 回答
  • 0 關(guān)注
  • 910 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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