Mörkt tema
Funktioner
💡 Introduktion till ämnet (flipped classroom)
⏰ Tidsåtgång: c.a. 6 min
- 📖 Learning TypeScript av Josh Goldberg: Functions
❓ Våga Fråga
🔈 Transkription
🔈 Video 6 - Funktioner
Även funktioner kan "typas".
ts
function sing(song: string): void {
console.log(`Singing: ${song}!`);
}1
2
3
2
3
Eftersom att funktionen inte returnerar någonting så har den returtypen void. En funktion som returnerar någonting kan få sin returtyp deklarerad såhär:
ts
function sum(num1: number, num2: number): number {
return num1 + num2;
}1
2
3
2
3
Retur-typen behöver dock inte deklareras, då TypeScript kan avgöra den själv. Men i vissa projekt har man satt upp som stilregel att returtypen ändå ska deklareras, så det är bra att känna till hur det görs.
Som standard förväntar sig TypeScript att alla parametrar som skickas in i funktionen krävs, men ibland kanske vi behöver ha någonting som en "frivillig" parameter. Även här använder vi då frågetecknet:
ts
function sing(song: string, singer?: string): void {
if (singer) {
console.log(`${singer} sings ${song}`);
} else {
console.log(`Singing ${song}!`);
}
}1
2
3
4
5
6
7
2
3
4
5
6
7
Vi kan också sätta ett default-värde, såhär:
ts
function sing(song: string, singer?: string, rating = 0): void {
if (singer) {
console.log(`${singer} sings ${song}`);
} else {
console.log(`Singing ${song}!`);
}
if (rating > 0) {
console.log(`It's a ${rating}-star experience!`);
}
}1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10