TypeScript
Den här artikeln eller avsnittet kan behöva språkvård eller korrekturläsning. (2022-10) Motivering: texten "den frivilliga funktionen att skriva statisk typning och bättre IntelliSense" är helt obegriplig för den vanliga läsaren Hjälp gärna Wikipedia med att förbättra språket i texten eller diskutera saken på diskussionssidan. |
Tillkomst | 1 oktober 2012 ![]() | |
---|---|---|
Skapare | Anders Hejlsberg ![]() | |
Utvecklare | Microsoft ![]() | |
Influerad av | Javascript, C-sharp, Java, CoffeeScript ![]() | |
Programmeringsparadigm | funktionell programmering, Generisk programmering, imperativ programmering, objektorienterad programmering, event-driven programming ![]() | |
Designer | Microsoft ![]() | |
Programmeringsspråk | Javascript, TypeScript ![]() | |
Software quality assurance | kontinuerlig integration ![]() | |
Version för programvara | 5.8.2 ![]() | |
Officiell webbplats | www.typescriptlang.org ![]() | |
Licens | Apache 2.0 ![]() | |
Typing discipline | Duck typing, gradual typing, structural typing ![]() | |
Dialect of computer language | Javascript ![]() | |
ACM Classification Code (2012) | 10011490 ![]() | |
Filändelse | ts, tsx ![]() |
TypeScript är ett programmeringsspråk med öppen källkod som skapats den 1 oktober 2012 och upprätthålls av Microsoft. TypeScript förser den frivilliga funktionen att skriva statisk typning och bättre autocomplete genom deklarationsfiler i Javascriptkod. Generellt är detta gjort för att skapa ett mer vänligt men också effektivare sätt att kunna koda i Javascript, som inte har dessa funktioner. TypeScript kompilerar sedan koden till Javascript i ett kortfattat och effektivt format.[1][2]
En TypeScript-fil har vanligtvis filavslutningen .ts eller .tsx för JSX.
Stöd
Genom utvecklingsmiljöerna Node.js och Deno så kan man utveckla, kompilera och köra TypeScript-kod. För Node.js kan man installera TypeScript med mjukvaran npm, pnpm eller Yarn och man definierar sina kompilationsinställningar i en tsconfig.json-fil, men för Deno finns det förinstallerat.[3][4][5]
Typannotationer
TypeScript tillåter statisk typning genom typannotationer vilket möjliggör för typcheckning både innan och efter koden utförs.
function addera(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'.
let x: [string, number]
x = [10, "hello"];
Exempel på hur TypeScript kan hitta fel innan koden körs.
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 aritmetik {
addera(left: number, right: number): number;
subtahera(left: number, right: number): number;
multiplicera(left: number, right: number): number;
dividera(left: number, right: number): number;
}
tsconfig.json
tsconfig.json är en reserverad fil som används vid kodning i TypeScript. Den använder filtypen JSON och specificerar hur TypeScripts kompilator ska kompilera TypeScript-koden. Här kan man specificera hur olika delar av typsystemet ska fungera och hur felkoder ska hanteras. [8]
{
"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
- ^ ”Typed JavaScript at Any Scale.” (på engelska). www.typescriptlang.org. https://www.typescriptlang.org/. Läst 20 februari 2021.
- ^ ”TypeScript” (på engelska). Wikipedia. 2021-02-18. https://en.wikipedia.org/w/index.php?title=TypeScript&oldid=1007454741. Läst 20 februari 2021.
- ^ Node.js. ”Node.js” (på engelska). Node.js. https://nodejs.org/en/. Läst 20 februari 2021.
- ^ ”Deno - A secure runtime for JavaScript and TypeScript”. deno.land. https://deno.land/. Läst 20 februari 2021.
- ^ ”TypeScripts nedladdningssida”. TypeScript. https://www.typescriptlang.org/download. Läst 7 april 2022.
- ^ ”Handbook - Basic Types” (på engelska). www.typescriptlang.org. https://www.typescriptlang.org/docs/handbook/basic-types.html. Läst 20 februari 2021.
- ^ ”TypeScript” (på engelska). Wikipedia. 2021-02-18. https://en.wikipedia.org/w/index.php?title=TypeScript&oldid=1007454741. Läst 20 februari 2021.
- ^ ”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.