TypeScript: Objecten
We kunnen verschillende waarden groeperen door gebruik van objecten. Objecten bestaan uit properties waarbij elke property een waarde kan bevatten van een bepaald/ander type:
let student = {
name: "George",
age: 13,
siblings: ["Jane","Geoff"],
alive: true
}Dit object bevat 4 properties: name (een string), age (een number), siblings (een array van strings) en alive (een boolean).
In TypeScript moeten we elke variabel voorzien van een type .Omdat we geen type hebben voor dit specifiek object, moeten we zelf een type voorzien. Hiervoor gebruiken we een interface. Voor objecten definieren we de interface als volgt:
interface Student {
name: string;
age: number;
siblings: string[];
alive: boolean
}Nu kunnen we bovenstaand object een type geven:
let student: Student = {
name: "George",
age: 13,
siblings: ["Jane","Geoff"],
alive: true
}Een object van het type Student moet alle properties bevatten die gedefinieerd staan in het interface!
Een object van het type Student mag geen andere properties bevatten!
De volgorde van de properties is onbelangrijk. Bv. dit student object is ook geldig:
Properties aanspreken
We kunnen elke property individueel aanspreken:
Elke property kan je dus gebruiken zoals je een variabel aanspreekt/gebruikt.
Omdat een property gewoon data bevat (een string, een number,...), kan een property ook een functie bevatten:
De property showIntroduction bevat een functie. Je kan die dus uitvoeren zoals elke andere functie.
Optionele properties
Normaal zijn alle properties verplicht aanwezig:
Je kan properties optioneel maken door een ? achter de naam van de property te plaatsen:
Readonly properties
Net zoals const een variabel onveranderbaar maakt, kan je zorgen dat een property niet aangepast mag worden. Hiervoor gebruik je het keyword readonly
Je kan dus enkel waarden meegeven bij intialisatie van het object!
Objecten en functies
Objecten kunnen net zoals elk ander type meegegeven worden als parameters of teruggegeven worden als return waarde.
halloStudent vraagt een parameter van het type Student. Omdat de parameter dat type bevat, kan je ook de properties aanspreken in de functie:
giveMeGeorge maakt zelf een nieuw object aan dat ie teruggeeft als return waarde:
De return waarde bevat dus een geldig Student object.
JSON
Wanneer we data via APIs doorsturen of in bestanden opslaan, dan gebruiken we meestal JSON. JSON lijkt er op een JavaScript object, maar de schrijfwijze is een beetje anders.
Dit is een JavaScript object. Die steek je meestal in bv. een variabel:
JSON steek je meestal in een .json bestand. Bv:
Merk op:
in het JSON bestand kan je geen variabelen gebruiken. Je schrijft dus niet let student = ...
properties hebben quotes nodig rond hun namen. Het is dus
"name"en nietnameje kan geen functies plaatsen in een JSON bestand. showIntroduction kan dus niet bestaan in het bestand
Last updated
Was this helpful?