Learning Angular for .NET Developers by Gunasundaram Rajesh
Author:Gunasundaram, Rajesh [Gunasundaram, Rajesh]
Language: eng
Format: azw3, epub
Tags: COM051260 - COMPUTERS / Programming Languages / JavaScript, COM060160 - COMPUTERS / Web / Web Programming, COM051390 - COMPUTERS / Programming / Open Source
Publisher: Packt Publishing
Published: 2017-06-30T04:00:00+00:00
Generics
Generics come in very handy when 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;
}
function returnStringReceived(arg: string): string {
return arg;
}
As you can see, we need individual methods to process each data type. We can implement the same 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 offer a special variable of the T type. Applying this type to the function, as shown, 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 shown:
var stringOutput = returnWhatReceived<string>("return this"); // type of output will be 'string'
var numberOutput = returnWhatReceived<number>(101); // type of output will be number
Note that the data type to be processed is passed by wrapping it in angle brackets (<>) in the function call.
Download
Learning Angular for .NET Developers by Gunasundaram Rajesh.epub
This site does not store any files on its server. We only index and link to content provided by other sites. Please contact the content providers to delete copyright contents if any and email us, we'll remove relevant links or contents immediately.
Hello! Python by Anthony Briggs(9913)
The Mikado Method by Ola Ellnestam Daniel Brolund(9777)
Dependency Injection in .NET by Mark Seemann(9337)
Sass and Compass in Action by Wynn Netherland Nathan Weizenbaum Chris Eppstein Brandon Mathis(7778)
The Well-Grounded Java Developer by Benjamin J. Evans Martijn Verburg(7557)
Svelte with Test-Driven Development by Daniel Irvine(7135)
Test-Driven Development with PHP 8 by Rainier Sarabia(6862)
Layered Design for Ruby on Rails Applications by Dementyev Vladimir;(6728)
Secrets of the JavaScript Ninja by John Resig & Bear Bibeault(6532)
Secrets of the JavaScript Ninja by John Resig Bear Bibeault(6409)
Web Development with Django by Ben Shaw Saurabh Badhwar(6197)
React Application Architecture for Production by Alan Alickovic(5921)
Jquery UI in Action : Master the concepts Of Jquery UI: A Step By Step Approach by ANMOL GOYAL(5806)
Kotlin in Action by Dmitry Jemerov(5062)
Audition by Ryu Murakami(4583)
Software Architecture for Web Developers by Mihaela Roxana Ghidersa(4439)
Hands-On Full-Stack Web Development with GraphQL and React by Sebastian Grebe(4316)
Accelerating Server-Side Development with Fastify by Manuel Spigolon Maksim Sinik & Matteo Collina(4286)
Functional Programming in JavaScript by Mantyla Dan(4037)
