泛型
要創(chuàng)建一個可重用的組件,其中的數(shù)據(jù)類型就必須要兼容很多的類型,那么如何兼容呢,TypeScript提供了一個很好的方法:泛型
Hello World
要兼容多種數(shù)據(jù)格式,可能會有人想到any,即
function identify(arg: any): any{ return arg; }
使用any存在一個問題,有可能傳入的值和返回的值不是同一種值,例如,傳入數(shù)字,但是不確定返回的是什么值
要解決這個問題,我們需要引入類型變量-一種特殊的變量,只用于表示類型不表示值
function identity<T>(arg: T): T { return arg; }
給identify添加了類型變量T,用來捕獲傳入值的類型,然后將返回值的類型也設置為T,就實現(xiàn)了傳入值和返回值為同一類型值的需求
我們把identify這個函數(shù)叫做泛型,因為它適用于所有類型,并且不會有any類型存在的問題
使用泛型的方法有兩種:
1、傳入所有的參數(shù),包括類型參數(shù)
let output = identify<string>('qwe');
2、利用類型推論--即編譯器會根據(jù)傳入的參數(shù)自動地幫助我們確定T的類型
網友評論