typescript 泛型

一织堂、TypeScript 泛型的理解

1、TypeScript 中的泛型

在TypeScript中徐矩,泛型是-種創(chuàng)建可復(fù)用代碼組件的工具粮宛。

這種組件不只熊被一種類(lèi)型使甩窥淆。而是能被多種類(lèi)型復(fù)用e類(lèi)似于參數(shù)的作用。泛型是-種用以增強(qiáng)類(lèi)巍杈、(classes) 心類(lèi)型(tyes)和接

日Sinterfaces) 能力的非秤欠梗可靠的手段。這樣筷畦。我們開(kāi)發(fā)者就可以輕松地將那些可復(fù)用的代碼想件词裤、適用于各種輸入e然而不要把

TypeScript中的泛型錯(cuò)當(dāng)成any類(lèi)型來(lái)使用-

-你會(huì)在后面看到這兩者的不同。

類(lèi)似C#和Java這種語(yǔ)言鳖宾,在它們的工具箱里吼砂,泛型是創(chuàng)建可復(fù)用代碼組件的主要手段之- -。即鼎文,用于創(chuàng)建一個(gè)適用于 多種類(lèi)型的代碼組

件渔肩。這允許用戶(hù)以他們自己的類(lèi)使用該泛型組件。

2拇惋、泛型的定義

使用<T>來(lái)定義類(lèi)型周偎,<T>中的T可以是U也可以是其他合法的字母抹剩,建議大寫(xiě)。泛型可以理解為不確定單獨(dú)類(lèi)型蓉坎,函數(shù)中使用泛型澳眷,可以約

束函數(shù)的參數(shù)和返回值類(lèi)型相同。


A蛉艾、定義:

function函數(shù)名<T>(形參名:T):T{

函數(shù)體語(yǔ)句;

return返回值; //返回值類(lèi)型是T

}

B钳踊、調(diào)用:

函數(shù)名<數(shù)據(jù)類(lèi)型>(參數(shù))


但是使用any類(lèi)型會(huì)導(dǎo)致這個(gè)函數(shù)可以接收任何類(lèi)型的arg參數(shù),這樣就丟失了-一些信息:傳入的類(lèi)型與返回的類(lèi)型應(yīng)該是相同的伺通。如果我們傳入一個(gè)數(shù)字箍土,我們只知道任何類(lèi)型的值都有可能被返回逢享。

解決方法:

使用類(lèi)型變量罐监,它是-種特殊的變量, 只用于表示類(lèi)型而不是值瞒爬。

function identity<T>(arg:T): T {

return arg;

給identity添加了類(lèi)型變量T弓柱。T 幫助我們捕獲用戶(hù)傳入的類(lèi)型(比如: number) ,之后我們就可以使用這個(gè)類(lèi)型侧但。

之后我們?cè)俅问褂?/p>

了T當(dāng)做返回值類(lèi)型∈缚眨現(xiàn)在我們可以知道參數(shù)類(lèi)型與返回值類(lèi)型是相同的了。這允許 我們跟蹤函數(shù)里使用的類(lèi)型的信息禀横。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末屁药,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子柏锄,更是在濱河造成了極大的恐慌酿箭,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,290評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件趾娃,死亡現(xiàn)場(chǎng)離奇詭異缭嫡,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)抬闷,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門(mén)妇蛀,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人笤成,你說(shuō)我怎么就攤上這事评架。” “怎么了炕泳?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,872評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵纵诞,是天一觀(guān)的道長(zhǎng)。 經(jīng)常有香客問(wèn)我喊崖,道長(zhǎng)挣磨,這世上最難降的妖魔是什么雇逞? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,415評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮茁裙,結(jié)果婚禮上塘砸,老公的妹妹穿的比我還像新娘。我一直安慰自己晤锥,他們只是感情好掉蔬,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,453評(píng)論 6 385
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著矾瘾,像睡著了一般女轿。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上壕翩,一...
    開(kāi)封第一講書(shū)人閱讀 49,784評(píng)論 1 290
  • 那天蛉迹,我揣著相機(jī)與錄音,去河邊找鬼放妈。 笑死北救,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的芜抒。 我是一名探鬼主播珍策,決...
    沈念sama閱讀 38,927評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼宅倒!你這毒婦竟也來(lái)了攘宙?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,691評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤拐迁,失蹤者是張志新(化名)和其女友劉穎蹭劈,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體唠亚,經(jīng)...
    沈念sama閱讀 44,137評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡链方,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,472評(píng)論 2 326
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了灶搜。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片祟蚀。...
    茶點(diǎn)故事閱讀 38,622評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖割卖,靈堂內(nèi)的尸體忽然破棺而出前酿,到底是詐尸還是另有隱情,我是刑警寧澤鹏溯,帶...
    沈念sama閱讀 34,289評(píng)論 4 329
  • 正文 年R本政府宣布罢维,位于F島的核電站,受9級(jí)特大地震影響丙挽,放射性物質(zhì)發(fā)生泄漏肺孵。R本人自食惡果不足惜匀借,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,887評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望平窘。 院中可真熱鬧吓肋,春花似錦、人聲如沸瑰艘。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,741評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)紫新。三九已至均蜜,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間芒率,已是汗流浹背囤耳。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,977評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留敲董,地道東北人紫皇。 一個(gè)月前我還...
    沈念sama閱讀 46,316評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像腋寨,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子化焕,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,490評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容