TypeScript-funksjoner: Slik bruker du parametere og returtyper
Funksjoner er byggesteinene til ethvert programmeringsspråk, og TypeScript forbedrer dem ved å legge til typesikkerhet. Ved å definere typer for parametere og returverdier, lar TypeScript utviklere skrive mer pålitelig og vedlikeholdbar kode. Denne veiledningen vil introdusere deg til TypeScript-funksjoner, og dekker hvordan du bruker parametere og returtyper effektivt.
Definere en funksjon i TypeScript
I TypeScript kan funksjoner defineres ved hjelp av nøkkelordet function
, som ligner på JavaScript. TypeScript lar deg imidlertid spesifisere typene parametere og returverdier for ekstra sikkerhet og lesbarhet.
Eksempel på grunnleggende funksjon
Her er et eksempel på en grunnleggende TypeScript-funksjon med innskrevne parametere og en returtype:
function add(a: number, b: number): number {
return a + b;
}
const result = add(5, 3); // Output: 8
I dette eksemplet godtar add
-funksjonen to parametere av typen number
og returnerer en verdi av typen number
. Dette sikrer at både input og output samsvarer med de forventede typene.
Funksjonsparametre i TypeScript
TypeScript-funksjoner kan godta ulike typer parametere, for eksempel valgfrie, standard- og hvileparametere. La oss utforske hver type i detalj.
Valgfrie parametere
Du kan definere valgfrie parametere ved å legge til en ?
etter parameternavnet. Valgfrie parametere trenger ikke oppgis når funksjonen kalles opp.
function greet(name: string, age?: number): string {
if (age) {
return `Hello, ${name}. You are ${age} years old.`;
} else {
return `Hello, ${name}.`;
}
}
console.log(greet("Alice")); // Output: Hello, Alice.
console.log(greet("Bob", 25)); // Output: Hello, Bob. You are 25 years old.
I dette eksemplet er parameteren age
valgfri. Funksjonen fungerer korrekt enten alder
er gitt eller ikke.
Standard parametere
Standardparametere lar deg spesifisere standardverdier for parametere i tilfelle de ikke oppgis når funksjonen kalles opp.
function multiply(a: number, b: number = 2): number {
return a * b;
}
console.log(multiply(5)); // Output: 10
console.log(multiply(5, 3)); // Output: 15
I dette eksemplet har b
-parameteren en standardverdi på 2
. Hvis ingen andre argumenter er oppgitt, vil 2
bli brukt som standard.
Hvileparametere
Hvileparametere lar deg sende et varierende antall argumenter til en funksjon. De er definert ved hjelp av ...
-syntaksen.
function sum(...numbers: number[]): number {
return numbers.reduce((total, num) => total + num, 0);
}
console.log(sum(1, 2, 3, 4)); // Output: 10
console.log(sum(5, 10, 15)); // Output: 30
I dette eksemplet aksepterer funksjonen sum
et hvilket som helst antall argumenter, alle av typen nummer
, og returnerer summen deres.
Returner typer i TypeScript
Å spesifisere returtypen til en funksjon er like viktig som å definere parametertyper. Det hjelper TypeScript med å forstå det forventede resultatet av funksjonen, og sikrer at det returnerer riktig type data.
Spesifisere returtyper
For å spesifisere returtypen til en funksjon, legg til et kolon :
etterfulgt av typen etter parameterlisten.
function isEven(num: number): boolean {
return num % 2 === 0;
}
console.log(isEven(4)); // Output: true
console.log(isEven(5)); // Output: false
I dette eksemplet returnerer funksjonen isEven
en boolean
som indikerer om inndatatallet er partall eller ikke.
Funksjoner uten returtype
Når en funksjon ikke returnerer en verdi, er returtypen void
. Dette er nyttig for funksjoner som utfører en handling uten å gi et resultat.
function logMessage(message: string): void {
console.log(message);
}
logMessage("Hello, TypeScript!"); // Output: Hello, TypeScript!
I dette eksemplet logger logMessage
-funksjonen en melding til konsollen og returnerer ingenting, derfor er returtypen void
.
Konklusjon
TypeScript-funksjoner gir en kraftig måte å skrive typesikker kode på ved å definere parametertyper og returtyper. Ved å bruke valgfrie, standard- og hvileparametere, samt spesifisere returtyper, kan du lage mer robuste og vedlikeholdbare funksjoner. Begynn å bruke TypeScript-funksjoner i prosjektene dine for å sikre bedre kodekvalitet og sikkerhet.