Labo 3
Alle oefeningen van dit labo dienen in een folder labo_3
te staan
Oefening: Timers
Maak een nieuwe folder timers waarin je jouw bronbestanden voor deze oefening kan plaatsen.
Een van de meest bekende functies in TypeScript die callbacks gebruiken is de setTimeout
en de setInterval
functie.
Je kan de documentatie van deze functies hier vinden
timers_1
Kopieer de onderstaande text in een bestand timers_1.ts
Denk eens na wat de output van dit bestand zal zijn als je dit uitvoert. Schrijf het in een bestand timers_1.txt
en vergelijk het daarna met de echte output. Zorg dat je goed begrijpt wat hier gebeurd!
timers_2
Maak een nieuw bestand timers_2.ts
en schrijf een programma dat elke seconde een getal ophoogt en vervolgens op je scherm laat zien. Gebruik hiervoor setInterval
Voorbeeldinteractie:
Oefening: calculation
Maak een nieuwe folder calculation waarin je jouw bronbestanden voor deze oefeningen kan plaatsen. Maak een nieuw bestand calculation.ts
aan.
Maak een functie printCalculationResult
aan. Ze heeft 3 parameters:
a, een getal
b, een getal
func, een functie van het type Calculation
De printCalculationResult
functie print het resultaat van een functie van het type Calculation.
Maak 2 functies aan: een mult
functie die a en b vermenigvuldigd, en een add
functie die a en b optelt. Deze functies zijn van het type Calculation.
Zorg dat volgende code werkt:
Oefening: robotFactory
Maak een nieuwe folder robotFactory waarin je jouw bron bestanden voor deze oefening kan plaatsen.
Installeer chalk met npm install chalk@4
anders zal deze NIET werken.
Maak een nieuw bestand robotFactory.ts
met de volgende inhoud:
Vul nu de functie createRobotFactory aan zodat deze een functie teruggeeft die voldoet aan de CreateFunction
interface. Deze functie zal
op het scherm laten zien als deze wordt aangeroepen. Hij zal dit doen aan de hand van de kleur die meegegeven wordt aan de createRobotFactory functie.
Voorbeeld:
chalk[color]("Hello World") geeft de tekst HelloWorld in de kleur weer die in de variabele color is gedefinieerd.
Oefening: atLeastTwo
Maak een nieuwe folder atLeastTwo waarin je jouw bronbestanden voor deze oefening kan plaatsen.
Maak een nieuw bestand atLeastTwo.ts
met de volgende inhoud.
Schrijf een arrow functie
isOdd
die deze interface implementeert die teruggeeft of een getal oneven is.Schrijf een arrow functie
isEven
die deze interface implementeert die teruggeeft of een getal even is.Verzin twee andere functie's die deze interface implementeert.
Schrijf een arrow functie genaamd
atLeastTwo
die twee argumenten aanvaard. Het eerste argument is een array van getallen en de tweede argument is een functie van het typeTestFunction
Deze functie geeft true terug als minstens twee elementen voldoen aan de meegegeven functie.
Bijvoorbeeld:
geeft de volgende output:
Oefening: printHandler
Maak een nieuwe folder printHandler waarin je jouw bronbestanden voor deze oefening kan plaatsen. We gaan gebruik maken van de chalk
library om gekleurde tekst te laten zien op het scherm (vergeet dus niet deze te installeren met npm install)
Maak een nieuw bestand printHandler.ts
met de volgende inhoud.
Schrijf een arrow functie
printBlue
die deze interface implementeert en de meegegeven tekst afprint in het blauwSchrijf een arrow functie
printRed
die deze interface implementeert en de meegegeven tekst afprint in het roodSchrijf een arrow functie
printDouble
die deze interface implementeert en die elk karakter van een meegegeven string dubbel afprintTEST wordt TTEESSTT, WEB wordt WWEEBB,...
Verzin nog een functie die iets met tekst doet en deze interface implementeert (niets met kleuren!)
Schrijf een arrow functie
sum
met als argumenten twee getallen a,b en een functie van het typePrintHandler
Deze functie maakt een som van a en b en gebruikt de printHandler om deze af te printen.
Probeer deze functie uit.
Bijvoorbeeld:
geeft de volgende output:
groupBy
Maak een nieuwe folder groupBy en maak een groupBy.ts bestand aan met de volgende inhoud
Schrijf nu een functie groupBy
die de personen groepeert gebruik makende van een meegegeven functie.
Voorbeeld interactie:
Gebruik nu de groupBy functie dat je ook deze gegevens groepeert aan de hand van hun leeftijdsklasse. Bv: [10-20], [20-30],....
Last updated