2min

De beta van TypeScript 4.9 is beschikbaar. De nieuwe ‘satisfies’ operator maakt het mogelijk om veelvoorkomende fouten te ontdekken. ECMAScript Decorators stonden op de planning, maar naar verwachting loopt de introductie vertraging op.

TypeScript 4.9 wordt op 1 november beschikbaar als release candidate. De definitieve versie volgt halverwege november. De beta is inmiddels verkrijgbaar. Een van de belangrijkste toevoegingen is de nieuwe ‘satisfies’ operator. Program manager Daniel Rossenwasser lichtte de update toe in een blogpost.

“De nieuwe ‘satisfies’ operator maakt het mogelijk om te valideren of het type van een expressie overeenkomt met een bepaald type, zonder het resulterende type van de expressie aan te passen”, vertelde Rosenwasser. “De satisfies operator stelt gebruikers in staat om heel veel mogelijke fouten te herkennen.”

NaN-fouten

De technologie van de satisfies operator is ongebruikelijk. De functie voert extra typecontroles uit zonder types aan te passen, vergelijkbaar met hoe JavaScript door TypeScript wordt verwerkt. De nieuwe operator is een creatieve omweg voor de onbedoelde gevolgen van wijzigingen in types.

Deze release bevat nog veel meer. TypeScript 4.9 verbiedt directe vergelijkingen met NaN (not a number), omdat niets in JavaScript gelijk is aan NaN, inclusief NaN zelf. Ontwikkelaars zouden Number.isNaN moeten gebruiken voor verificaties, maar volgens Rossenwasser verifiëren veel gebruikers onbedoeld met someValue == NaN. TypeScript 4.9 voorkomt fouten door het laatste te verbieden.

ECMAScript Decorators

Een andere nieuwe functie is ‘watch mode’. De technologie compileert bestanden automatisch naarmate ze veranderen. Daarnaast gebruikt de standaardconfiguratie van TypeScript 4.9 vanaf nu file system events in plaats van polling, wat een stuk efficiënter werkt. Polling wordt nog steeds gebruikt wanneer het niet anders kan, maar over het algemeen draait TypeScript efficiënter dan voorheen, aldus Rosenwasser.

ECMAScript Decorators stonden aanvankelijk op de planning, maar de update ontbreekt. ECMAScript Decorators zijn een heikel punt omdat TypeScript reeds experimentele decorators biedt die het gedrag van classes en class members veranderen.

“Decorators hebben de laatste fase bijna bereikt, maar tijdens het testen zagen we bepaalde gebeurtenissen die besproken moeten worden”, legt Rosenwasser uit. “We verwachten dat decorators in de volgende versie worden geïmplementeerd.”

Tip: Nieuwe Visual Studio-extensie maakt code tussen haakjes leesbaarder