Med Ty­pe­Script kan användare deklarera typer för funk­tio­ner, pa­ra­met­rar och re­tur­vär­den. Eftersom Ty­pe­Script kon­trol­le­rar om rätt datatyper används, hjälper de­kla­re­ring av typer till att upptäcka fel tidigare och ökar kod­kva­li­te­ten.

Vad är Ty­pe­Script-funk­tio­ner?

Ty­pe­Script-funk­tio­ner är en central komponent i Ty­pe­Script. Funk­tio­ner i Ty­pe­Script liknar dem i Ja­va­Script, men har den extra fördelen att de är statiskt typade. Med detta till­vä­ga­gångs­sätt de­fi­nie­ras datatyper för variabler, pa­ra­met­rar och re­tur­vär­den redan vid kom­pi­le­ring och kan inte ändras under körning. Detta minskar antalet fel i pro­duk­tions­mil­jön.

En annan egenskap hos Ty­pe­Script-funk­tio­ner är deras flex­i­bi­li­tet. Funk­tio­ner kan ha valfria och stan­dard­vär­den för pa­ra­met­rar, vilket gör det enklare att anpassa dem för olika an­vänd­nings­fall. Möjliga an­vänd­nings­om­rå­den in­klu­de­rar da­ta­be­hand­ling, in­ter­ak­tio­ner med an­vän­dar­gräns­snitt, asynkron pro­gram­me­ring och mycket mer. Du kan också definiera över­be­last­ning­ar för att till­han­da­hål­la olika funk­tio­ner baserat på in­mat­nings­vär­de­na.

Förutom att deklarera funk­tio­ner kan du också använda hjälp­funk­tio­ner i Ty­pe­Script. Dessa funk­tio­ner är en kortare notation och används ofta i modern Ja­va­Script-ut­veck­ling.

Ty­pe­Script-funk­tio­ner är avgörande för att öka sä­ker­he­ten och läs­bar­he­ten hos kod som används i Ty­pe­Script-projekt. Samtidigt gör deras flex­i­bi­li­tet och an­pass­nings­för­må­ga dem lämpliga för ett brett spektrum av krav.

Vad är syntaxen för Ty­pe­Script-funk­tio­ner?

Ty­pe­Script är ett su­per­språk till Ja­va­Script. Som sådant liknar syntaxen för Ty­pe­Script-funk­tio­ner syntaxen för Ja­va­Script-funk­tio­ner. Funk­tions­ko­den följer inom klamrar { }. Det är här funk­tio­nens faktiska logik im­ple­men­te­ras. Här är den grund­läg­gan­de syntaxen för en Ty­pe­Script-funktion:

function functionName(parameter1: type, parameter2: type): returnType {
    // Function Code
    return result; // (optional)
}
ty­pe­script
  • funktion: detta nyckelord markerar början på funk­tions­de­kla­ra­tio­nen.
  • fun­c­tionNa­me: detta är namnet på funk­tio­nen. Du bör välja ett be­skri­van­de namn som åter­speg­lar funk­tio­nens uppgift.
  • parameter1, parameter2: detta är de pa­ra­met­rar som funk­tio­nen förväntar sig. Varje parameter iden­ti­fie­ras genom sitt namn och den för­vän­ta­de datatypen (ty­pan­no­te­ring).
  • re­turn­Ty­pe: detta är den datatyp som funk­tio­nen re­tur­ne­rar. Du kan också ange void om funk­tio­nen inte re­tur­ne­rar ett värde.
  • return result är valfritt och används om funk­tio­nen ska returnera ett värde.

Ty­pe­Script-funk­tio­ner anropas genom att använda funk­tions­nam­net följt av pa­ren­te­ser. I pa­ren­te­ser­na anger du ar­gu­men­ten (in­mat­nings­vär­den) för funk­tio­nen om den förväntar sig pa­ra­met­rar.

functionName(argument1, argument2, ...);
ty­pe­script

Exempel på Ty­pe­Script-funk­tio­ner

Ty­pe­Script-funk­tio­ner är extremt mångsidi­ga och kan användas för att utföra be­räk­ning­ar, ope­ra­tio­ner och komplexa processer i ap­pli­ka­tio­ner.

Anonyma funk­tio­ner

Anonyma funk­tio­ner i Ty­pe­Script är funk­tio­ner som inte har något namn och som överförs direkt i uttryck eller som argument till andra funk­tio­ner. Anonyma funk­tio­ner är för­del­ak­ti­ga om du bara behöver en funktion på ett ställe i koden och inte vill tilldela den ett eget funk­tions­namn.

var greet = function(name) {
    return "Hello, " + name + "!";
};
var message = greet("John");
console.log(message); // Output: "Hello, John!"
ty­pe­script

I det här exemplet lagras den anonyma funk­tio­nen i variabeln greet och anropas senare för att skapa ett per­son­ligt häls­nings­med­de­lan­de för John.

Anonyma funk­tio­ner in­klu­de­rar även lamb­da­funk­tio­ner, som kallas pil­funk­tio­ner.

const add = (a: number, b: number) => a + b;
const result = add(3, 5); // Output: 8
ty­pe­script

Här tilldelas en anonym funktion som adderar två tal till variabeln add och anropas sedan.

Stan­dard­pa­ra­met­rar

Stan­dard­pa­ra­met­rar (även kallade stan­dard­pa­ra­met­rar) i Ty­pe­Script gör det möjligt att definiera Ty­pe­Script-funk­tio­ner så att de har stan­dard­vär­den för pa­ra­met­rar. När funk­tio­nen anropas och inget värde anges som parameter används istället stan­dard­vär­det.

function greet(name: string = "World") {
    return "Hello, " + name + "!";
}
console.log(greet()); // Output: "Hello, World!"
console.log(greet("John")); // Output: "Hello, John!"
ty­pe­script

Här har funk­tio­nen greet stan­dard­vär­det world för pa­ra­me­tern name. Om inget värde anges för name när funk­tio­nen anropas, används stan­dard­vär­det au­to­ma­tiskt.

Vi­lo­pa­ra­met­rar

Med rest­pa­ra­met­rar (även kända som resto­pe­ra­tö­rer eller rest­pa­ra­me­ter­syn­tax) i Ty­pe­Script kan du samla ett ospe­ci­fi­ce­rat antal argument som Ty­pe­Script-matriser i en funktion. Detta är an­vänd­bart om du vill skriva funk­tio­ner som kan bearbeta va­ri­e­ran­de mängder argument.

function sum(...numbers: number[]): number {
    let total = 0;
    for (const num of numbers) {
        total += num;
    }
    return total;
}
console.log(sum(1, 2, 3, 4, 5)); // Output: 15
ty­pe­script

I exemplet samlar funk­tio­nen sum in valfritt antal tal som rest­pa­ra­me­ter numbers och lägger ihop dem för att beräkna den totala summan. Du kan skicka in så många tal du vill, och funk­tio­nen kommer att lägga ihop dem alla.

Över­be­last­ning

Funk­tions­ö­ver­be­last­ning används för att definiera flera funk­tions­de­kla­ra­tio­ner med samma namn men olika parameter- eller re­tur­ty­per. Detta hjälper Ty­pe­Script att au­to­ma­tiskt välja rätt funk­tions­de­kla­ra­tion beroende på de argument som skickas och att utföra typ­kon­trol­ler.

function concatenate(a: string, b: string): string;
function concatenate(a: number, b: number): string;
function concatenate(a: any, b: any): string {
    return a.toString() + b.toString();
}
console.log(concatenate("Hello, ", "World")); // Output: "Hello, World"
console.log(concatenate(3, 5)); // Output: "35"
ty­pe­script

I exemplet ovan har vi två funk­tions­ö­ver­be­last­ning­ar för concatenate. Den första ac­cep­te­rar två strängar och den andra ac­cep­te­rar två tal. Funk­tio­nen själv kon­ver­te­rar de överförda ar­gu­men­ten till strängar och sam­man­fo­gar dem. Ty­pe­Script väljer au­to­ma­tiskt lämplig över­be­last­ning baserat på de överförda ar­gu­men­ten och utför nöd­vän­di­ga typ­kon­trol­ler.

Funk­tions­ö­ver­be­last­ning­ar är särskilt an­vänd­ba­ra om du utvecklar ett API eller bibliotek där du vill sä­ker­stäl­la att funk­tio­nen är enkel och felfri att använda, oavsett vilka olika typer av pa­ra­met­rar som an­vän­dar­na till­han­da­hål­ler.

Gå till huvudmeny