- Expert Angular
- Mathieu Nayrolles Rajesh Gunasundaram Sridhar Rao
- 237字
- 2021-07-15 17:05:33
Generics
Generics are very useful for developing reusable components that can work against any data type. So, the client that consumes this component will decide what type of data it should act upon. Let's create a simple function that returns whatever data is passed to it:
function returnNumberReceived(arg: number): number { return arg; }
unction returnStringReceived(arg: string): string { return arg; }
As you can see, we need individual methods to process each data type. We can implement them in a single function using the any data type, as follows:
function returnAnythingReceived (arg: any): any { return arg; }
This is similar to generics. However, we don't have control over the return type. If we pass a number and we can't predict whether the number will be returned or not by the function, the return type can be of any type.
Generics offers a special variable of type T. Applying this type to the function as follows enables the client to pass the data type they would like this function to process:
function returnWhatReceived<T>(arg: T): T { return arg; }
So, the client can call this function for various data types as follows:
var stringOutput = returnWhatReceived<string>("return this"); // type of output will be 'string' var numberOutput = returnWhatReceived<number>(101); // type of output will be number
- Visual Basic .NET程序設計(第3版)
- Python程序設計教程(第2版)
- Android Development with Kotlin
- Mastering Yii
- Python程序設計案例教程
- 組態軟件技術與應用
- Clojure Reactive Programming
- 西門子S7-200 SMART PLC編程從入門到實踐
- 零基礎PHP從入門到精通
- Learn Linux Quickly
- 算法訓練營:海量圖解+競賽刷題(入門篇)
- 跟小樓老師學用Axure RP 9:玩轉產品原型設計
- Building Microservices with Go
- Learning Gerrit Code Review
- Visual FoxPro數據庫程序設計