TypeScript
TypeScript är ett programmeringsspråk med öppen källkod skapat och upprätthålls just nu 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]
Man skapar en TypeScript fil genom att använda filavslutningen .ts eller .tsx för TypeScript stöd för TypeScript med .jsx.
TypeScripts utveckling började 1 oktober 2012 och den senaste stabila versionen är 4.1.5, som släpptes för 8 dagar sen.
Stöd
Genom utvecklingsmiljöerna Node.js och Deno så kan man utveckla, kompilera och köra TypeScript kod. För Node.js krävs 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ör installerat.[3][4]
Typannationer
TypeScript tillåter statisk typning genom typannationer 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 semikolonet 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å när det kan hände 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.
Deklarationsfiler
När man TypeScript kod kompileras finns det en val att generera en deklarationsfil med filtillägget .d.ts. som fungerar som ett gränssnitt av komponenterna av det kompilerade JavaScript-koden. I deklarationsfiler tar kompilatorn bara ut typerna, ingen kod. Detta skapar ett mer rent och mer koncentrerad punkt av de olika typerna istället för att ha de 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;
}
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"
],
}
- ^ ”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.
- ^ ”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.