🕸️
[BA] Web Programming
  • Introductie
  • Cursus
    • TypeScript
      • Waarom TypeScript?
      • Nieuw project
      • Wat is een tsconfig.json?
      • Input lezen
      • Type Systeem
        • Basic types
        • Arrays
        • Functions
        • Class
        • Interface
      • Conditionele blok
      • Loops
      • Array methods
      • Exceptions
      • Modules
      • Asynchroon Programmeren
        • Promises
        • Async/Await
        • Fetch
        • JSON
    • Frontend
      • DOM Manipulatie
      • VITE
      • Deployment met Surge
    • Backend
      • Express.js
        • Basis
        • Nodemon
        • Statische Bestanden
        • Request
        • Response
        • Router
      • MySQL
    • Fullstack
      • Van Form tot Database
      • CORS
  • Labos
    • 1. TS: Basis
      • Hello Name
      • BMI Calculator
      • Interest Calculator
      • Uren en Minuten
      • Wisselgeld
      • Name from Email
      • Text Box
    • 2. TS: Arrays & functions
      • Som van getallen
      • Math Fun
      • Array Sum
      • Puntenboek
      • Rot13
      • Pokemon Team
      • Todo List String
      • Tick Tac Toe
      • BMI Calculator Multi
    • 3. TS: Interfaces & classes
      • Recepten
      • Transportmiddelen
      • Movies
      • Filter Numbers
    • 4. TS: Async & fetch
      • Promise All
      • Slow Sum
      • Cocktails Promise All
      • Joke API
      • School API
      • Cocktails API
      • Unix Timestamp API
    • 5. TS: Modules & NPM
      • Math Module
      • Cowsay Module
      • Cat GPT
      • Rainbow Chalk
    • 6. Frontend: VITE & DOM
      • Verander achtergrond
      • Verander tekst
      • Verander divs
      • Verander kleuren
      • Verander kleuren random
    • 7. Frontend: APIs & DOM
      • Cocktail API met Vite
      • Weather API
      • Uitvinders
      • Rick and Morty
    • 8. Backend: Express & Requests
      • Hello Express
      • DadJoke Express
      • Reiskosten server
    • 9. Backend: MySQL & Routing
      • Reiskosten server
      • Taken server
      • Taken server met prioriteit
    • 10. Fullstack: Forms & Express & MySQL
      • Reiskosten app
      • Taken app
      • Pokémon app
Powered by GitBook

AP

On this page
  • Gebruik
  • Multi-dimensionale arrays
  • Tuples
  1. Cursus
  2. TypeScript
  3. Type Systeem

Arrays

Tijdens het onderdeel van datatypes hebben we heel kort het concept Array laten vallen. In TypeScript is een Array een lijst van waarden. Elke waarde kan aangesproken worden aan de hand van een index.

Gebruik

Net zoals bij andere variabelen moeten we in TypeScript bij het maken van een variabele voor een array een type geven. Dit type kan je op twee verschillende manieren uitdrukken. Het is in TypeScript niet de bedoeling om verschillende types in een array te steken. Als je kiest voor 1 type dan moeten de rest van de elementen van hetzelfde type zijn.

We kiezen bijvoorbeeld een array van getallen (numbers). De declaratie van de variabele zal er als volgt uit zien

let numbers : number[];

In andere talen zoals Java en C# moet je de lengte van de array meegeven. In JavaScript en TypeScript is dat niet zo. De array zal groeien met het aantal elementen er in geplaatst worden.

We willen meestal ook als begin waarde een lege array meegeven. Er zitten dus op dat moment nog geen waarden in. We kunnen een lege array toekennen aan de variabele op de volgende manier:

let numbers : number[] = [];

Moderne programmeurs zullen meestal een array declareren met 'const' ipv 'let. De reden hiervoor is om te vermijden dat door een programmeerfout de array opnieuw zou geïnitialiseerd zou worden met een lege array [].

const numbers : number[] = [];

Je kan ook op voorhand al een aantal elementen meegeven:

const numbers : number[] = [1,2,3,4,5];

Om een element op te vragen van een array kan je dat doen aan de hand van vierkante haakjes met daarin een getal. Dit getal komt overeen met de positie van het element dat je wil opvragen. Let op: ook in TypeScript begint het eerste element bij 0.

const fruits : string[] = ["Banana","Apple","Orange"];

console.log(fruits[0]); // Banana
console.log(fruits[1]); // Apple
console.log(fruits[2]); // Orange

Vraag je een element voor een index op die niet bestaat dan krijg je undefined

console.log(fruits[3]); // undefined

Als je een element wil vervangen kan je dit op de volgende manier doen:

fruits[2] = "Pear";

Je kan ook elementen toevoegen nadat je de array hebt gedeclareerd:

fruits[3] = "Kiwi";

Soms is het nodig om te weten hoeveel elementen er in de array zitten. Dit kan je met length doen.

const fruits : string[] = ["Banana","Apple","Orange"];

console.log(fruits.length); // 3

Je kan ook de array uitprinten in je console venster. Dit is vooral handig tijdens het debuggen

const fruits : string[] = ["Banana","Apple","Orange"];

console.log(fruits); // [ 'Banana', 'Apple', 'Orange' ]

Ook een loop over een array is zeer gelijkaardig aan JavaScript.

const fruits : string[] = ["Banana","Apple","Orange"];

for (let i : number = 0; i < fruits.length; i++) {
    console.log(fruits[i]);
}

In de for...of loop wordt in TypeScript de types van het element automatisch ingevuld. Je moet hier dus uitzonderlijk het type van fruit weglaten.

const fruits : string[] = ["Banana","Apple","Orange"];

for (let fruit of fruits) {
    console.log(fruit);
}

Multi-dimensionale arrays

Een array kan ook een array bevatten. Dit noemen we een multi-dimensionale array of matrix. Je kan dit op de volgende manier doen:

const matrix : number[][] = [
    [1,2,3],
    [4,5,6],
    [7,8,9]
];

Je kan deze array op dezelfde manier gebruiken als een gewone array. Je kan bijvoorbeeld het eerste element van de eerste array opvragen op de volgende manier:

console.log(matrix[0][0]); // 1

Nog een voorbeeld:

const starterPokemon : string[][] = [
    ["Bulbasaur","Charmander","Squirtle"],
    ["Chikorita","Cyndaquil","Totodile"],
    ["Treecko","Torchic","Mudkip"]
];

Als je hier over wil itereren met een for loop kan je dit op de volgende manier doen:

for (let i : number = 0; i < starterPokemon.length; i++) {
    console.log(`Generation ${i+1}:`);
    for (let j : number = 0; j < starterPokemon[i].length; j++) {
        console.log(starterPokemon[i][j])
    }
}

Tuples

Tuples zijn een speciaal soort array waar je een vast aantal elementen kan aan toevoegen waarvan het type van bekend is.

Bijvoorbeeld als je een coordinaat op een kaart zou willen in een array steken weet je dat de x coordinaat op index 0 staat en de y coordinaat op index 1. Dit kan je aan de hand van een tuple op de volgende manier schrijven

const coordinate: [number, number] = [50,3];

je kan deze voor de rest op dezelfde manier als een andere array gebruiken

console.log(coordinate[0]);
console.log(coordinate[1]);

Je kan ook meer dan twee types meegeven in een tuple. Als we bijvoorbeeld ook de stad willen bijhouden die op die coordinaten liggen kan je dit op de volgende manier doen:

let country : [string, number, number] = [
    "Rotterdam", 51.926517, 4.462456
];

Je kan ook arrays maken van tuples. Bijvoorbeeld als we een lijst van landen willen maken

const countries : [string, number, number][] = [
    ["Rotterdam", 51.926517, 4.462456],
    ["Amsterdam", 52.374021, 4.88969],
    ["Utrecht", 52.0908, 5.1214],
    ["Antwerpen", 51.227741, 4.402465],
    ["Brussel", 50.85467, 4.351697],
    ["Gent", 51.05, 3.7167]
];

We kunnen hier ook over loopen met een for...of lus:

for (let country of countries) {
    console.log(`${country[0]} ${country[1]} ${country[2]}`)
}
PreviousBasic typesNextFunctions

Last updated 7 months ago