Versjon 5.0 av TypeScript har blitt raskere og fått støtte for en masse ny funksjonalitet. 📸: Christin Hume / Unsplash

Neste store TypeScript-versjon er ute i beta - dette er nytt

TypeScript 5.0 er raskere og har fått støtte for "decorators".

Publisert

Ifølge State of JavaScript 2022 har bruken av TypeScript mer enn tredoblet seg de siste seks årene, og 34 prosent av de spurte i undersøkelsen sier nå at de bruker dette programmeringsspråket i sine prosjekter.

Nå er betaversjonen av TypeScript 5.0 klar, skriver Microsoft i et blogginnlegg.

For de som ikke måtte kjenne til TypeScript fra før:

  • TypeScript er en sterkt typet variant av JavaScript.
  • Den er kompatibel med JavaScript, slik at du kan ta det gradvis i bruk og selv velge i hvor stor grad du ønsker å definere typer i koden din eller ikke.
  • TypeScript-kode blir til slutt konvertert til standard JavaScript som kan kjøre overalt hvor JavaScript kan kjøres.

Den nye versjonen av TypeScript kan tas i bruk ved å kjøre kommandoen `npm install typescript@beta` eller via NuGet.

De fleste vil se forbedringer på 10 – 20 prosent i tiden det tar å bygge et TypeScript-prosjekt.

Støtte for decorators

En av de største nyhetene i versjon 5.0 er støtte for decorators, en kommende ECMAScript-funksjon som nå er i trinn 3 i TC39-komitéen – det vil si siste trinn før den blir innlemmet i den offisielle standarden.

Decorators gjør det mulig å legge til ny funksjonalitet til klasser, på en gjenbrukbar måte – og uten å påvirke koden i den originale klassen.

Decorators kan brukes på blant annet metoder i en klasse, for eksempel som i dette eksempelet fra Microsoft-bloggen der man har laget en decorator `@loggedMethod`som legger til ekstra logging for debuggingformål til metoden `greet()`:

class Person {
    name: string;
    constructor(name: string) {
        this.name = name;
    }

    @loggedMethod
    greet() {
        console.log(`Hello, my name is ${this.name}.`);
    }
}

const p = new Person("Ray");
p.greet();

// Output:
//
//   LOG: Entering method.
//   Hello, my name is Ray.
//   LOG: Exiting method.

I eksempelet trenger man ikke å gjøre noen endringer i greet()-metoden, man bare "dekorerer" den for å gi den ekstra funksjonalitet.

TypeScript har tidligere hatt eksperimentell for decorators, men nå er støtten i tråd med den siste ECMAScript-versjonen.

Raskere og bedre

TypeScript 5.0 har også en rekke andre nyheter, som du kan lese mer om i Microsofts blogginnlegg.

I tillegg til endringer og tillegg til selve språket, har Microsoft gjort en masse for å gjøre TypeScript raskere. Dette har de fått til blant annet ved å begynne å bruke modules i stedet for namespaces, slik at man kan ta i bruk mer moderne byggeverktøy. I tillegg er en del gammel kode fjernet, noe som har redusert størrelsen til TypeScript ganske mye.

Sammenlignet med versjon 4.9 skal byggetiden for større prosjekter ha blitt redusert betraktelig. I Microsofts egne tester tok det for eksempel 19 prosent kortere tid å bygge VS Code fra kildekoden.

Microsoft skriver at de forventer at de fleste vil se forbedringer på 10 – 20 prosent i tiden det tar å bygge et TypeScript-prosjekt.

Powered by Labrador CMS