Over TypeScript 5.0
TypeScript 5.0, uitgebracht op 16 maart 2023, markeert een belangrijke mijlpaal in de evolutie van deze populaire programmeertaal. Deze versie introduceert verbeteringen die de taal niet alleen sneller en efficiënter maken, maar ook gebruiksvriendelijker en beter voorbereid op toekomstige JavaScript-functionaliteiten. In dit artikel duiken we diep in de nieuwe functies van TypeScript 5.0, leggen we de verschillen uit met eerdere versies en laten we zien hoe je de nieuwe mogelijkheden kunt benutten in jouw projecten.
Wat is TypeScript?
Voor wie nieuw is met TypeScript: dit is een superset van JavaScript die statische typecontrole en andere handige functies toevoegt aan het ontwikkelproces. TypeScript is vooral populair vanwege de verbeterde leesbaarheid en foutdetectie in grote codebases. Het compileert naar gewoon JavaScript, zodat het kan draaien in elke browser of JavaScript-runtime.
Met elke nieuwe versie voegt TypeScript nieuwe functies toe en stroomlijnt het bestaande workflows. TypeScript 5.0 is hierin geen uitzondering: het biedt een reeks tools en verbeteringen die je productiviteit kunnen verhogen en de betrouwbaarheid van je codebase verbeteren.
Gemoderniseerde decorators
Decorators bestaan al enige tijd in TypeScript, maar tot versie 5.0 waren ze slechts als een experimentele functie beschikbaar. In TypeScript 5.0 zijn decorators volledig gemoderniseerd en in lijn gebracht met het ECMAScript-voorstel dat momenteel in stadium 3 is. Dit betekent dat je nu een gestandaardiseerde manier hebt om met decorators te werken.
Decorators bieden een krachtige manier om gedrag aan klassen of specifieke class members toe te voegen of aan te passen. Ze worden vaak gebruikt in frameworks zoals Angular en NestJS, maar de nieuwe implementatie maakt ze breder toepasbaar.
Voorbeeld: Een decorator gebruiken
//typescript
function logExecution(target: any, propertyKey: string, descriptor: PropertyDescriptor) {
const originalMethod = descriptor.value;
descriptor.value = function (...args: any[]) {
console.log(`Methode ${propertyKey} wordt uitgevoerd.`);
return originalMethod.apply(this, args);
};
}
class Persoon {
naam: string;
leeftijd: number;
constructor(naam: string, leeftijd: number) {
this.naam = naam;
this.leeftijd = leeftijd;
}
@logExecution
begroet() {
console.log(`Hallo, mijn naam is ${this.naam}.`);
}
}
const p = new Persoon('Jan', 25);
p.begroet();
In dit voorbeeld wordt de logExecution-decorator gebruikt om een logbericht weer te geven telkens wanneer de methode begroet wordt aangeroepen. In eerdere versies moest je extra instellingen aanpassen om decorators te gebruiken. TypeScript 5.0 maakt dit eenvoudiger.