𝗢𝗯𝗷𝗲𝗰𝘁 𝗖𝗼𝗻𝘀𝘁𝗿𝘂𝗰𝘁𝗼𝗿𝘀 𝗶𝗻 𝗝𝗮𝘃𝗮𝗦𝗰𝗿𝗶𝗽𝘁
Je moet vaak veel objecten van hetzelfde type aanmaken. JavaScript biedt verschillende manieren om dit te doen.
Constructor-functies
Een constructor is een speciale functie om objecten te bouwen en in te stellen. Gebruik het new-trefwoord om deze aan te roepen. Begin de functienaam altijd met een hoofdletter. Dit helpt je om het onderscheid te maken met gewone functies.
Als je het new-trefwoord vergeet, werkt de functie als een standaardfunctie en slaagt deze er niet in om een correct object aan te maken.
Standaardwaarden
Je kunt standaardwaarden instellen in je constructor. Dit zorgt ervoor dat je objecten altijd geldige gegevens hebben, zelfs als je een argument vergeet.
Voorbeeld: function Person(name = "Unknown", age = 0) { this.name = name; this.age = age; }
Prototypes en geheugen
Het toevoegen van methoden aan een prototype is slimmer dan ze rechtstreeks aan een constructor toevoegen. Wanneer je het prototype gebruikt, delen alle instanties één enkele methode. Dit bespaart geheugen omdat de computer de methode niet voor elk nieuw object opnieuw aanmaakt.
Object.create()
Deze methode maakt een nieuw object aan met behulp van een bestaand object als prototype. Het vestigt overerving zonder dat er een constructor nodig is. Het nieuwe object kan eigenschappen van het originele object benaderen.
Class-overerving
Moderne JavaScript gebruikt classes om overerving af te handelen. Je kunt een child class maken die een parent class uitbreidt. Gebruik het super()-trefwoord om gegevens van de child naar de parent door te geven. Dit stelt de child in staat om eigenschappen van de parent te gebruiken terwijl deze zijn eigen unieke kenmerken toevoegt.
Waarom constructors gebruiken?
- Herbruikbare code: Maak snel veel vergelijkbare objecten aan.
- Inkapseling: Houd de logica voor het instellen van objecten op één plek.
- Eenvoudige initialisatie: Stel specifieke waarden in tijdens de creatie.
- Overerving: Bouw complexe objecten op uit eenvoudigere objecten.
- Schone code: Houd je logica georganiseerd en gemakkelijk leesbaar.
Bron: https://www.geeksforgeeks.org/javascript/js-constructor-method/ Bron: https://www.w3schools.com/js/js_object_constructors.asp Volledige post: https://dev.to/kamalesh_ar_6252544786997/object-constructors-in-javascript-2e96
Optionele leercommunity: https://t.me/GyaanSetuAi