TypeScript: Functions
Een functie kan op 2 manieren geschreven worden:
Dit is een "named function". De functie heeft de naam add.
of
Dit is een "anonymous function". De functie heeft geen naam maar wordt toegekend aan de variabele add.
In beide gevallen heeft de functie hier 3 parameters: a, b en c.
De functie geeft ook een waarde terug: a+b+c. Hiervoor gebruik je return
We gebruiken altijd anonymous functions. Vanaf nu mag je de schrijfwijze met het keyword function vergeten.
Functies roep je op adhv de naam van de variabele waar de functie zich in bevindt plus haakjes () en de nodige parameters:
Hierboven hebben we een functie met 0 parameters. We roepen ze dus op met hallo()
Deze functie heeft 2 parameters: a en b. Deze functie heeft ook een return waarde. We kunnen de uitkomst van deze functie dus toekennen aan een variabele.
Let op: return stopt de uitvoering van een functie. De console log in de code hieronder zal dus nooit uitgevoerd worden. De functie stop bij lijn 2:
Functies en types
In TypeScript heeft alles een type nodig. Dit doen we bij functies als volgt:
Achter elke parameter plaats je het type. a is van het type number, b is van het type number. Achter de haakjes van de parameters staat het return type, het type dat uiteindelijk door de functie wordt teruggegeven. Hierboven is dit een number. Hieronder een string:
In TypeScript moet je je ook houden aan de exacte beschrijving van de functie:
add verwacht 2 parameters. Lijn 4 en 5 zijn dus fout.
Optionele parameters
Je kan ook bepalen dat sommige parameters optioneel zijn. Dan hoef je ze niet altijd mee te geven aan jouw functie.
Hierboven is b optioneel. Dit wil zeggen dat ik b niet moet meegeven worden: add(1) is dus ok.
Let wel op: nu moet je nakijken of b bestaat. In jouw functie mag je niet meer veronderstellen dat die een waarde zal bevatten
Opgelet: een optionele parameter kan niet gevolgd worden door een niet-optionele parameters:
Default parameters
Je kan ook default waarden meegeven aan jouw parameters. Dit wil zeggen dat wanneer de parameter niet zou worden meegegeven, een default waarde verondersteld wordt:
In het voorbeeld hierboven krijgt b een default waarde 2. Wanneer je dus geen tweede parameter meegeeft, zal b de waarde 2 bevatten.
Default waarden hoeven niet achteraan te staan:
Merk op op lijn 6: als je niets wilt meegeven voor parameter a, dan geef je undefined
mee.
Interfaces
Wanneer we een functie definiëren, geven we die meestal mee aan een variabele:
Maar wat is het type van hello?
We kunnen een type definiëren die een functie beschrijft adhv interfaces. Met een interface kunnen we beschrijven hoeveel parameters een functie moet hebben, wat de types zijn van de parameters en het type van de return waarde:
Voor de functie hello worden geen parameters verwacht. Het heeft ook geen return waarde (dus void). Nu kan je de variabele een type geven:
Je kan ook bv. een array van dit type maken:
Let op: in deze array mag ik enkel functies steken die overeenkomen met de interface: een functie met 0 parameters die geen return waarde heeft:
Voor een functie met meer parameters en bv. een return waarde:
Let op: het Addfunction type impliceert de types van de parameters en return waarden. Je hoeft die dus niet uit te schrijven
Verkorte notatie
Wanneer je maar 1 lijn code hebt staan in jouw functie, kan je jouw schrijfwijze verkorten:
Wanneer jouw lijn code een return doet, hoef je zelfs return niet meer te vermelden:
Wanneer je maar 1 parameter hebt, kan je zelfs de haakjes rond de parameter weglaten:
Last updated