TypeScript Functions - Types, Parameters, Return Types, Overloading

Learn TypeScript function types, optional parameters, default parameters, rest parameters, overloads, and arrow functions!

Introduction

Let's master TypeScript functions!

What You Will Learn

  • Function parameter and return types
  • Optional, default, rest parameters
  • Function overloads
  • Arrow functions

Prerequisites

Function Type Basics!

Add types to parameters and return values!

function add(a: number, b: number): number {
  return a + b;
}
const result = add(2, 3); // number!

Optional Parameters!

Use ? to make a parameter optional!

function greet(name: string, greeting?: string): string {
  if (greeting) {
    return `${greeting}, ${name}!`;
  }
  return `Hello, ${name}!`;
}
greet("John");
greet("John", "Hi");

Default Parameters!

function greet(name: string, greeting: string = "Hello"): string {
  return `${greeting}, ${name}!`;
}

Rest Parameters!

function sum(...numbers: number[]): number {
  return numbers.reduce((a, b) => a + b, 0);
}
sum(1, 2, 3); // 6

Arrow Functions!

const add = (a: number, b: number): number => a + b;

Function Overloads!

Define multiple signatures for the same function!

function combine(a: number, b: number): number;
function combine(a: string, b: string): string;
function combine(a: any, b: any): any {
  return a + b;
}
combine(2, 3); // 5
combine("Hello", "World"); // "HelloWorld"

Best Practices

  1. Always add return types: Makes intent clear!
  2. Use optional parameters carefully: Don't overdo!
  3. Avoid overloads unless needed: Keep it simple!

Summary

TypeScript functions with all their features!

Related Articles

Previous Tutorial

Basic Types

Next Tutorial

Let's learn arrays & tuples! → Arrays & Tuples