Welke manieren om functies te maken ken je?
sobes.tech AI
Antwoord van AI
Er zijn verschillende manieren om functies te maken in JavaScript, elk met hun eigen kenmerken:
-
Functie-verklaringen: Klassieke manier om functies te maken. Ze worden (hoisted) naar boven in de scope gehaald, waardoor je ze kunt aanroepen voordat ze zijn gedeclareerd.
// Functie declaratie met function function greet(name) { return "Hallo, " + name + "!"; } -
Functie-expressies: De functie wordt gemaakt als onderdeel van een expressie en toegewezen aan een variabele. Ze worden niet (not hoisted) op dezelfde manier gehoogd als functie-verklaringen.
// Functie-expressie const greet = function(name) { return "Hallo, " + name + "!"; }; -
Pijlfuncties (Arrow Functions): Verkorte syntax voor functie-expressies. Ze verschillen van klassieke functies in
thisen het ontbreken van eigen argumenten (arguments).// Pijlfunctie const greet = (name) => { return "Hallo, " + name + "!"; }; // Verkorte vorm met impliciete return const greetShort = (name) => "Hallo, " + name + "!"; -
Constructor functies: Worden gebruikt om objecten te maken. Ze worden aangeroepen met het sleutelwoord
new.// Constructor functie function Person(name, age) { this.name = name; this.age = age; } // Een instantie maken met de constructor const person1 = new Person("Aleksei", 30); -
Klasse-methoden: In klassen (synthax suiker over prototypische overerving) worden functies gedefinieerd als methoden.
// Klasse met methode class Greeter { greet(name) { return "Hallo, " + name + "!"; } } // Een instantie maken en de methode aanroepen const greeter = new Greeter(); const message = greeter.greet("Wereld"); -
Onmiddellijk aangeroepen functiedefinities (IIFE): Functie-uitdrukking die onmiddellijk wordt uitgevoerd na creatie. Wordt gebruikt om een lokale scope te creëren.
// IIFE (function() { // Code binnen IIFE console.log("Deze functie wordt meteen uitgevoerd!"); })();
Elke methode heeft zijn eigen voor- en nadelen, en de keuze hangt af van de specifieke taak en context.