3. Function pada TypeScript
Pada TypeScript, "function" mengacu pada sebuah fitur yang digunakan untuk mendefinisikan blok kode yang dapat dipanggil (dijalankan) dengan nama tertentu. Fungsi digunakan untuk mengelompokkan serangkaian pernyataan yang melakukan tugas tertentu atau menghitung nilai kembali (return value) yang kemudian dapat digunakan dalam program.
1. Function Declaration
//contoh function dengan return tipe data primitive
function sum1(x: number, y: number): number {
return x + y;
}
function sum1_1(x: number, y: number): string {
return `Hasil Penjumlahan dari ${x} + ${y} adalah ${x + y}`;
}
function sum1_2(x: number, y: number): boolean {
if (x === y) {
return true;
} else {
return false;
}
}
//contoh function tanpa object
type Hasil = {
angkatPertama: number;
angkaKedua: number;
hasil: number;
};
type Parameter = {
x: number;
y: number;
};
function sum2(x: number, y: number): Hasil {
const z = x + y;
return {
angkatPertama: x,
angkaKedua: y,
hasil: z,
};
}
function (params: Parameter): Hasil {
const { x, y } = params;
const z = x + y;
return {
angkatPertama: x,
angkaKedua: y,
hasil: z,
};
};
//contoh function dengan return tipe data any
function sum3(x: number, y: number): any {
return x + y;
}
//contoh function tanpa return
function sum4(x: number, y: number): void {
const z = x + y;
}
console.log(sum1(1, 2));
console.log(sum2(1, 2));
2. Arrow Function
//contoh function dengan return tipe data primitive
const sum1 = (x: number, y: number): number => {
return x + y;
};
const sum1_1 = (x: number, y: number): string => {
return `Hasil Penjumlahan dari ${x} + ${y} adalah ${x + y}`;
};
const sum1_2 = (x: number, y: number): boolean => {
if (x === y) {
return true;
} else {
return false;
}
};
//contoh function tanpa object
type Hasil = {
angkatPertama: number;
angkaKedua: number;
hasil: number;
};
type Parameter = {
x: number;
y: number;
};
const sum2 = (x: number, y: number): Hasil => {
const z = x + y;
return {
angkatPertama: x,
angkaKedua: y,
hasil: z,
};
};
const sum2_1 = (params: Parameter): Hasil => {
const { x, y } = params;
const z = x + y;
return {
angkatPertama: x,
angkaKedua: y,
hasil: z,
};
};
//contoh function dengan return tipe data any
const sum3 = (x: number, y: number): any => {
return x + y;
};
//contoh function tanpa return
const sum4 = (x: number, y: number): void => {
const z = x + y;
};
console.log(sum1(1, 2));
console.log(sum2(1, 2));
3. Optional Parameter
Pada function yang kita buat, kita dapat memberikan optional parameter artinya parameter tsb boleh ada atau tidak pada function
function multiply(a: number, b: number, c?: number): number {
if (typeof c !== "undefined") {
return a * b * c;
}
return a * b;
}
console.log(multiply(1, 2, 3));
console.log(multiply(1, 2));
4. Default Parameter
Default parameter pada fungsi (default function parameter) adalah nilai yang diberikan sebagai nilai bawaan untuk parameter fungsi jika tidak ada nilai yang diberikan saat pemanggilan fungsi. Default parameter memungkinkan kita untuk menentukan nilai standar yang akan digunakan oleh parameter jika pengguna tidak menyediakan nilai untuk parameter tersebut.
Dalam JavaScript dan TypeScript, Anda dapat mendefinisikan default parameter dengan cara menentukan nilai default pada deklarasi fungsi. Saat fungsi dipanggil, jika parameter tersebut tidak diberikan nilai, maka nilai default yang telah ditentukan akan digunakan.
Contoh penggunaan default parameter dalam fungsi: