TypeScript enhances JavaScript functions with powerful type-checking capabilities. Let's explore the key features that make TypeScript functions an essential tool for modern web development.
- Basic Function Syntax: TypeScript allows you to specify parameter types and return types, making your function's intentions clear.
function greet(name: string): string {
return `Hello, ${name}!`;
}
This function takes a string parameter and guarantees a string return value.
- Arrow Functions: Arrow functions provide a concise syntax and lexical scoping of 'this'.
const multiply = (a: number, b: number): number => a * b;
Here, we define a function that takes two numbers and returns their product.
- Optional and Default Parameters: TypeScript lets you define optional parameters and set default values.
function createUser(name: string, age?: number, role: string = 'user') {
// Implementation
}
In this example, 'age' is optional, and 'role' has a default value of 'user'.
- Rest Parameters: Rest parameters allow a function to accept an indefinite number of arguments as an array.
function sum(...numbers: number[]): number {
return numbers.reduce((total, num) => total + num, 0);
}
This function can take any number of numeric arguments and return their sum.
- Function Overloading: Function overloading allows you to define multiple function signatures for varied behavior.
function processInput(input: string): string;
function processInput(input: number): number;
function processInput(input: string | number): string | number {
if (typeof input === 'string') {
return input.toUpperCase();
} else {
return input * 2;
}
}
This function can handle both string and number inputs, with different behavior for each.
- Generic Functions: Generics allow you to create flexible, reusable functions that work with multiple types.
function firstElement<T>(arr: T[]): T | undefined {
return arr[0];
}
This generic function can work with arrays of any type and return the first element of that type.
TypeScript functions provide a robust foundation for building complex applications. By leveraging these features, you can write more expressive, safer, and self-documenting code.
Remember: The goal is not just to add types, but to use TypeScript's features to create more reliable and maintainable code structures.
I hope you learned something new in this short blog. :)
Top comments (0)