𝗜𝗻𝘁𝗿𝗼𝗱𝘂𝗰𝘁𝗶𝗲 𝘁𝗼 𝗧𝘆𝗽𝗲𝗦𝗰𝗿𝗶𝗽𝘁 𝗙𝘂𝗻𝗰𝘁𝗶𝗼𝗻 𝗧𝘆𝗽𝗲𝘀
TypeScript vereist types voor alles. Dit geldt ook voor je functies. Je moet types definiëren voor inputs en outputs.
Function Syntax
Je definieert inputtypes en een outputtype als volgt:
function add(x: number, y: number): number { return x + y; }
TypeScript maakt ook gebruik van type inference. Je hoeft het outputtype niet altijd zelf te schrijven; de compiler vindt het voor je.
Als je functie verschillende types retourneert, handelt TypeScript dit af. Als een functie bijvoorbeeld een number of een string retourneert, detecteert de compiler beide.
Special Return Types
- void: Gebruik dit wanneer een functie niets retourneert.
- never: Gebruik dit wanneer een functie een error gooit of het programma stopt.
Parameters
Je kunt parameters optioneel maken met een vraagteken.
function makeProfile(name: string, age: number, url?: string) { // code }
Je kunt ook standaardwaarden gebruiken. Hiermee maak je een parameter optioneel zonder speciale symbolen.
function makeProfile(name: string, age: number, url: string = "www.example.com") { return name + " visits " + url; }
Callback Functions
Functies zijn waarden. Je kunt ze als argumenten doorgeven. Gebruik de volgende syntaxis om een callback-type te definiëren:
function makePage(func: (n: string, a: number, u?: string) => string, param1: string, param2: number) { func(param1, param2); }
De namen van de parameters in de callback maken niet uit. Alleen de types zijn van belang.
Arrays of Functions
Als je een lijst met functies nodig hebt, definieer je deze als een array van dat functietype.
function applyMath(funcs: ((a: number, b: number) => number)[], x: number, y: number) { // code }
Rest Parameters
Gebruik de spread operator om een willekeurig aantal argumenten te accepteren. Hiermee worden alle inputs in een array opgeslagen.
function sum(...numbers: number[]) { // code }
sum(1, 2, 3);
Bron: https://dev.to/jsha/introduction-to-typescript-function-types-hin