TypeScript里的类型为any和泛型的区别
生活随笔
收集整理的這篇文章主要介紹了
TypeScript里的类型为any和泛型的区别
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
看下面這個TypeScript函數:
function identity(arg: any): any {return arg; }雖然使用any類型后這個函數已經能接收任何類型的arg參數,但是卻丟失了一些信息:傳入的類型與返回的類型應該是相同的。 通過any類型,無法實現這個約束。
因此,需要一種方法使返回值的類型與傳入參數的類型是相同的。 這里,我們使用了類型變量,它是一種特殊的變量,只用于表示類型而不是值。
function identity<T>(arg: T): T {return arg; }現在,identity接受的參數類型和返回類型必須一致。
兩種方式調用該函數:
(1) let output = identity(“myString”); // type of output will be ‘string’
明確的指定了T是string類型,并做為一個參數傳給函數,使用了<>括起來而不是()。
(2) 類型推論,編譯器會根據傳入的參數自動地幫助我們確定T的類型:
let output = identity(“myString”); // type of output will be ‘string’
總結
以上是生活随笔為你收集整理的TypeScript里的类型为any和泛型的区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 常用的搜索引擎有哪些(公认最好的3种搜索
- 下一篇: CPU C-state & cp