19 Funktionen

Funktionen sind ein grundlegender Baustein in TypeScript. Sie ermöglichen es Ihnen, Codeblöcke zu definieren, die eine bestimmte Aufgabe ausführen und dann bei Bedarf aufgerufen werden können.

Eine Funktion in TypeScript kann auf diese Weise definiert werden:

function greet(name: string): void {
  console.log('Hello, ' + name);
}

greet('Alice');  // Ausgabe: "Hello, Alice"

In diesem Beispiel definiert die greet-Funktion einen Parameter name vom Typ string und gibt nichts zurück (void).

Funktionen können auch Rückgabewerte haben:

function add(x: number, y: number): number {
  return x + y;
}

let result = add(5, 3);  // result ist jetzt 8

In diesem Beispiel gibt die add-Funktion die Summe von x und y zurück.

19.1 Anonyme Funktionen und Arrow Functions

Neben benannten Funktionen unterstützt TypeScript auch anonyme Funktionen und Arrow-Funktionen (auch bekannt als Pfeilfunktionen oder Lambda-Funktionen):

let greet = function(name: string): void {
  console.log('Hello, ' + name);
};

let add = (x: number, y: number): number => {
  return x + y;
};

Anonyme Funktionen und Arrow-Funktionen können besonders nützlich sein, wenn Sie Funktionen als Argumente an andere Funktionen übergeben oder wenn Sie Funktionen innerhalb von Klassen oder Objekten definieren.

19.2 Funktionen mit optionalen und Standardparametern

In TypeScript können Funktionen auch optionale Parameter haben:

function greet(name: string, formal: boolean = false): void {
  if (formal) {
    console.log('Hello, Mr. ' + name);
  } else {
    console.log('Hello, ' + name);
  }
}

greet('Alice');           // Ausgabe: "Hello, Alice"
greet('Bob', true);       // Ausgabe: "Hello, Mr. Bob"

In diesem Beispiel ist der Parameter formal optional und hat einen Standardwert von false.

19.3 Funktionen mit Restparametern

Funktionen in TypeScript können auch Restparameter haben, die es ermöglichen, eine beliebige Anzahl von Argumenten zu akzeptieren:

function printNumbers(...nums: number[]): void {
  for (let num of nums) {
    console.log(num);
  }
}

printNumbers(1, 2, 3, 4);  // Ausgabe: 1, 2, 3, 4

In diesem Beispiel akzeptiert die printNumbers-Funktion einen Restparameter nums, der ein Array von Zahlen repräsentiert.

Insgesamt sind Funktionen ein sehr wichtiger Teil von TypeScript und ermöglichen es Ihnen, Ihren Code zu strukturieren und zu modularisieren.