Met Ty­pe­Script kunnen ge­brui­kers typen voor functies, pa­ra­me­ters en re­tour­waar­den de­cla­re­ren. Aangezien Ty­pe­Script con­tro­leert of de juiste ge­ge­vens­ty­pen worden gebruikt, helpt het de­cla­re­ren van typen om fouten eerder op te sporen en verhoogt het de kwaliteit van de code.

Wat zijn Ty­pe­Script-functies?

Ty­pe­Script-functies vormen een centraal onderdeel van Ty­pe­Script. Functies in Ty­pe­Script zijn ver­ge­lijk­baar met die in Ja­vaScript, maar hebben als bijkomend voordeel dat ze statisch getypeerd zijn. Bij deze aanpak worden de datatypes voor va­ri­a­be­len, pa­ra­me­ters en re­tour­waar­den al tijdens het com­pi­le­ren ge­de­fi­ni­eerd en kunnen ze tijdens de uit­voe­ring niet meer worden gewijzigd. Dit ver­min­dert het aantal fouten in de pro­duc­tie­om­ge­ving.

Een ander kenmerk van Ty­pe­Script-functies is hun flexi­bi­li­teit. Functies kunnen optionele en stan­daard­waar­den voor pa­ra­me­ters hebben, waardoor ze ge­mak­ke­lij­ker kunnen worden aangepast voor ver­schil­len­de ge­bruiks­si­tu­a­ties. Mogelijke toe­pas­sin­gen zijn onder meer ge­ge­vens­ver­wer­king, in­ter­ac­ties met de ge­brui­kers­in­ter­fa­ce, asyn­chro­ne pro­gram­me­ring en nog veel meer. U kunt ook over­be­las­tin­gen de­fi­ni­ë­ren om ver­schil­len­de func­ti­o­na­li­tei­ten te bieden op basis van de in­voer­waar­den.

Naast het de­cla­re­ren van functies kun je in Ty­pe­Script ook hulp­func­ties gebruiken. Deze functies hebben een kortere notatie en worden vaak gebruikt in moderne Ja­vaScript-ont­wik­ke­lings­prak­tij­ken.

Ty­pe­Script-functies zijn es­sen­ti­eel voor het verhogen van de vei­lig­heid en lees­baar­heid van code die in Ty­pe­Script-projecten wordt gebruikt. Te­ge­lij­ker­tijd maken hun flexi­bi­li­teit en aan­pas­baar­heid ze geschikt voor een breed scala aan vereisten.

Wat is de syntaxis voor Ty­pe­Script-functies?

Ty­pe­Script is een superset van Ja­vaScript. Als zodanig is de syntaxis van Ty­pe­Script-functies ver­ge­lijk­baar met die van Ja­vaScript-functies. De func­tie­co­de volgt tussen accolades { }. Hier wordt de daad­wer­ke­lij­ke logica van de functie ge­ïm­ple­men­teerd. Hier is de ba­sis­syn­taxis van een Ty­pe­Script-functie:

function functionName(parameter1: type, parameter2: type): returnType {
    // Function Code
    return result; // (optional)
}
ty­pe­script
  • functie: dit trefwoord markeert het begin van de func­tie­de­cla­ra­tie.
  • func­ti­on­Na­me: dit is de naam van de functie. Kies een be­schrij­ven­de naam die de taak van de functie weergeeft.
  • parameter1, parameter2: dit zijn de pa­ra­me­ters die de functie verwacht. Elke parameter wordt ge­ï­den­ti­fi­ceerd door zijn naam en het verwachte ge­ge­vens­ty­pe (type-annotatie).
  • re­turn­Ty­pe: dit is het ge­ge­vens­ty­pe dat de functie re­tour­neert. U kunt ook void spe­ci­fi­ce­ren als de functie geen waarde re­tour­neert.
  • return result is optioneel en wordt gebruikt als de functie een waarde moet re­tour­ne­ren.

Ty­pe­Script-functies worden aan­ge­roe­pen door de func­tie­naam gevolgd door haakjes te gebruiken. In de haakjes spe­ci­fi­ceert u de ar­gu­men­ten (in­voer­waar­den) voor de functie als deze pa­ra­me­ters verwacht.

functionName(argument1, argument2, ...);
ty­pe­script

Voor­beel­den van Ty­pe­Script-functies

Ty­pe­Script-functies zijn uiterst veel­zij­dig en kunnen worden gebruikt om be­re­ke­nin­gen, be­wer­kin­gen en complexe processen in ap­pli­ca­ties uit te voeren.

Anonieme functies

Anonieme functies in Ty­pe­Script zijn functies die geen naam hebben en recht­streeks in uit­druk­kin­gen of als ar­gu­men­ten aan andere functies worden door­ge­ge­ven. Anonieme functies zijn handig als u een functie slechts op één plaats in de code nodig hebt en geen eigen func­tie­naam wilt toekennen.

var greet = function(name) {
    return "Hello, " + name + "!";
};
var message = greet("John");
console.log(message); // Output: "Hello, John!"
ty­pe­script

In dit voorbeeld wordt de anonieme functie op­ge­sla­gen in de variabele greet en later aan­ge­roe­pen om een ge­per­so­na­li­seerd be­groe­tings­be­richt voor John te maken.

Anonieme functies omvatten ook lambda-functies, die bekend staan als pijl­func­ties.

const add = (a: number, b: number) => a + b;
const result = add(3, 5); // Output: 8
ty­pe­script

Hier wordt een anonieme functie die twee getallen optelt toe­ge­we­zen aan de variabele add en ver­vol­gens aan­ge­roe­pen.

Stan­daard­pa­ra­me­ters

Met stan­daard­pa­ra­me­ters (ook wel stan­daard­pa­ra­me­ters genoemd) in Ty­pe­Script kunt u Ty­pe­Script-functies zo de­fi­ni­ë­ren dat ze stan­daard­waar­den voor pa­ra­me­ters hebben. Wanneer de functie wordt aan­ge­roe­pen en er geen waarde als parameter wordt door­ge­ge­ven, wordt in plaats daarvan de stan­daard­waar­de gebruikt.

function greet(name: string = "World") {
    return "Hello, " + name + "!";
}
console.log(greet()); // Output: "Hello, World!"
console.log(greet("John")); // Output: "Hello, John!"
ty­pe­script

Hier heeft de functie greet de stan­daard­waar­de world voor de parameter name. Als er geen waarde wordt door­ge­ge­ven voor name wanneer de functie wordt aan­ge­roe­pen, wordt au­to­ma­tisch de stan­daard­waar­de gebruikt.

Rust­pa­ra­me­ters

Met rest­pa­ra­me­ters (ook bekend als rest­o­pe­ra­tors of rest­pa­ra­me­ter­syn­taxis) in Ty­pe­Script kunt u een onbepaald aantal ar­gu­men­ten ver­za­me­len als Ty­pe­Script-arrays in een functie. Dit is handig als u functies wilt schrijven die ver­schil­len­de hoe­veel­he­den ar­gu­men­ten kunnen verwerken.

function sum(...numbers: number[]): number {
    let total = 0;
    for (const num of numbers) {
        total += num;
    }
    return total;
}
console.log(sum(1, 2, 3, 4, 5)); // Output: 15
ty­pe­script

In het voorbeeld verzamelt de functie sum elk aantal getallen als rest­pa­ra­me­ter numbers en telt deze bij elkaar op om de totale som te berekenen. U kunt zoveel getallen doorgeven als u wilt, en de functie telt ze allemaal bij elkaar op.

Over­be­las­ting

Functie-over­be­las­ting wordt gebruikt om meerdere func­tie­de­cla­ra­ties met dezelfde naam maar ver­schil­len­de parameter- of re­tour­ty­pen te de­fi­ni­ë­ren. Dit helpt Ty­pe­Script om au­to­ma­tisch de juiste func­tie­de­cla­ra­tie te se­lec­te­ren op basis van de door­ge­ge­ven ar­gu­men­ten en om ty­p­e­con­tro­les uit te voeren.

function concatenate(a: string, b: string): string;
function concatenate(a: number, b: number): string;
function concatenate(a: any, b: any): string {
    return a.toString() + b.toString();
}
console.log(concatenate("Hello, ", "World")); // Output: "Hello, World"
console.log(concatenate(3, 5)); // Output: "35"
ty­pe­script

In het bo­ven­staan­de voorbeeld hebben we twee functie-overloads voor concatenate. De eerste ac­cep­teert twee strings en de tweede ac­cep­teert twee getallen. De functie zelf con­ver­teert de door­ge­ge­ven ar­gu­men­ten naar strings en voegt ze samen. Ty­pe­Script se­lec­teert au­to­ma­tisch de juiste overload op basis van de door­ge­ge­ven ar­gu­men­ten en voert de nodige ty­p­e­con­tro­les uit.

Functie-overloads zijn vooral handig als je een API of bi­bli­o­theek ont­wik­kelt waarbij je ervoor wilt zorgen dat het gebruik van de functie eenvoudig en foutloos is, ongeacht de ver­schil­len­de soorten pa­ra­me­ters die door de ge­brui­kers worden opgegeven.

Ga naar hoofdmenu