Functions and Return Types
Purpose: write safe functions. Benefit: no more confusion about inputs and outputs.
Functions become much safer with types. ## Typed parameters and return ```ts function add(a: number, b: number): number { return a + b; } ``` ## Void return ```ts function log(msg: string): void { console.log(msg); } ``` ## Optional parameters ```ts function greet(name: string, title?: string): string { return title ? `${title} ${name}` : name; } ``` ## Default values ```ts function power(base: number, exp: number = 2): number { return base ** exp; } ``` ## Arrow functions ```ts const multiply = (a: number, b: number): number => a * b; ``` ## Remember - always type inputs - specify return when possible - optional params use ?