Hoppa till innehållet

TypeScript

Från Wikipedia
Version från den 14 december 2021 kl. 11.58 av PumpedSardines (Diskussion | Bidrag) (En typescript fil måste inte ha .ts eller en .tsx avslut. Man kan lika gärna be kompilatorn att hitta alla .txt filer och be den att kompilera dem som typescript)
TypeScript
Programspråk Redigera Wikidata
Programmeringsspråk, skriptspråk, imperativt programmeringsspråk, functional programming language, event-driven programming language, strict programming language, högnivåspråk, FOSS Redigera Wikidata
Tillkomst1 oktober 2012 Redigera Wikidata
SkapareAnders Hejlsberg Redigera Wikidata
Utveck­la­reMicrosoft Redigera Wikidata
Influerad avJavascript, C-sharp, Java, CoffeeScript Redigera Wikidata
Prog­ram­me­rings­pa­ra­digmfunktionell programmering, Generisk programmering, imperativ programmering, objektorienterad programmering, event-driven programming Redigera Wikidata
DesignerMicrosoft Redigera Wikidata
Prog­ram­me­rings­sp­råkJavascript, TypeScript Redigera Wikidata
Software quality assurancekontinuerlig integration Redigera Wikidata
Version för prog­ram­va­ra5.8.2 Redigera Wikidata
Officiell webbplatswww.typescriptlang.org Redigera Wikidata
LicensApache 2.0 Redigera Wikidata
Typing dis­cip­li­neDuck typing, gradual typing, structural typing Redigera Wikidata
Dialect of computer languageJavascript Redigera Wikidata
ACM Clas­si­fi­ca­tion Code (2012)10011490 Redigera Wikidata
Fil­än­del­sets, tsx Redigera Wikidata

TypeScript är ett programmeringsspråk med öppen källkod skapat och upprätthålls (2021) av Microsoft. TypeScript ger den frivilliga funktionen att skriva statisk typning och bättre IntelliSense och autocomplete genom deklarationsfiler. TypeScript transkompilerar kod till JavaScript med kompilatorn TSC för att skapa bättre och mer effektiv JavaScript kod.[1][2]

En TypeScript fil har vanligtvis filavslutningen .ts eller .tsx för TypeScript stöd av JSX.

TypeScripts utveckling började 1 oktober 2012 och den senaste stabila versionen är 4.1.5, som släpptes i februari 2021.

Stöd

Genom utvecklingsmiljöerna Node.js och Deno så kan man utveckla, kompilera och köra TypeScript kod. För Node.js kan att man installerar typescript med mjukvaran npm och att man definierar sina kompilationsinställningar i en tsconfig.json fil, men för Deno så finns det förinstallerat.[3][4]

Typannotationer

TypeScript tillåter statisk typning genom typannotationer vilket möjliggör för typcheckning både innan och efter koden utförs.

function addTwoNumbers(a: number, b: number): number {
    return a + b    
}

I den första funktionen kan man se att den tar nummer a och nummer b som parametrar. Genom kolonet och typen number så kan vi klargöra att båda är av typen nummer. Man kan också se att själva funktionen returnerar ett nummer genom frasen : number på sidan av den. Ifall man överträder dessa typer får man till exempel felmeddelandet Type 'number' is not assigned to type 'string'. Ett exempel på hur det kan hända finns här:

let x: [string, number]

x = [10, "hello"]; // Man försöker skriva  ett nummer till något som ska vara en string och man försöker skriva en string till något som ska vara ett nummer.

[5]

Deklarationsfiler

När TypeScript-kod kompileras finns det ett val att generera en deklarationsfil med filtillägget .d.ts. som fungerar som ett gränssnitt för komponenterna av den kompilerade JavaScript-koden. I deklarationsfilerna tar kompilatorn bara ut typerna, ingen kod. Detta skapar en renare och mer koncentrerad representation av de olika typerna istället för att ha dem utspridda över flera filer.

declare namespace arithmetics {
    add(left: number, right: number): number;
    subtract(left: number, right: number): number;
    multiply(left: number, right: number): number;
    divide(left: number, right: number): number;
}

[6]

tsconfig.json

tsconfig.json är en reserverad fil med filtypen JSON gjord för att definiera hur kompilatorn ska kompilera din kod. Detta är till för programmeringsplatformen Node.js, men inte plattformen Deno där det redan är inbyggt. [7]

{
  "compilerOptions": {
    "module": "commonjs",
    "noImplicitReturns": true,
    "noUnusedLocals": true,
    "outDir": "lib",
    "sourceMap": true,
    "strict": true,
    "target": "es2017",
    "esModuleInterop": true,
    "types": []
  },
  "compileOnSave": true,
  "include": [
    "src"
  ],
  "exclude": [
    "node_modules"
  ],
}

Referenser

  1. ^ ”Typed JavaScript at Any Scale.” (på engelska). www.typescriptlang.org. https://www.typescriptlang.org/. Läst 20 februari 2021. 
  2. ^ ”TypeScript” (på engelska). Wikipedia. 2021-02-18. https://en.wikipedia.org/w/index.php?title=TypeScript&oldid=1007454741. Läst 20 februari 2021. 
  3. ^ Node.js. ”Node.js” (på engelska). Node.js. https://nodejs.org/en/. Läst 20 februari 2021. 
  4. ^ ”Deno - A secure runtime for JavaScript and TypeScript”. deno.land. https://deno.land/. Läst 20 februari 2021. 
  5. ^ ”Handbook - Basic Types” (på engelska). www.typescriptlang.org. https://www.typescriptlang.org/docs/handbook/basic-types.html. Läst 20 februari 2021. 
  6. ^ ”TypeScript” (på engelska). Wikipedia. 2021-02-18. https://en.wikipedia.org/w/index.php?title=TypeScript&oldid=1007454741. Läst 20 februari 2021. 
  7. ^ ”Documentation - What is a tsconfig.json” (på engelska). www.typescriptlang.org. https://www.typescriptlang.org/docs/handbook/tsconfig-json.html. Läst 20 februari 2021.