Install Web App

Belajar Typescript #34 | Function Call Signature

profil-penulis

Edo Kurniawan

27 Februari 2023

Dalam TypeScript, Function Call Signature adalah cara untuk mendefinisikan tipe fungsi dengan tanda tangan yang menggambarkan parameter dan nilai kembali dari fungsi. Ini memungkinkan Anda untuk menggambarkan dengan jelas bagaimana suatu fungsi dapat dipanggil. Artikel ini akan membahas konsep Function Call Signature, cara mendefinisikannya, dan mengapa ini berguna dalam pengembangan aplikasi TypeScript.

Apa Itu Function Call Signature?

Function Call Signature adalah tanda tangan yang menggambarkan tipe fungsi dalam TypeScript. Ini mencakup parameter yang diharapkan oleh fungsi dan tipe data yang akan dikembalikan oleh fungsi. Dengan menggunakan Function Call Signature, Anda dapat menyatakan secara eksplisit bagaimana suatu fungsi seharusnya dipanggil.

Contoh Function Call Signature:

type AddFunction = (a: number, b: number) => number;

Pada contoh di atas, AddFunction adalah Function Call Signature yang menggambarkan tipe fungsi yang menerima dua parameter a dan b, keduanya bertipe number, dan mengembalikan nilai bertipe number.

Mendefinisikan Function Call Signature

Anda dapat mendefinisikan Function Call Signature dengan menggunakan type atau interface dalam TypeScript. Berikut adalah dua pendekatan yang umum digunakan:

Menggunakan type
type AddFunction = (a: number, b: number) => number;
Menggunakan interface
interface AddFunction {
  (a: number, b: number): number;
}

Kedua pendekatan di atas menghasilkan hasil yang sama, yaitu mendefinisikan Function Call Signature untuk tipe fungsi.

Menggunakan Function Call Signature

Setelah Anda mendefinisikan Function Call Signature, Anda dapat menggunakannya dalam beberapa konteks:

Mendeklarasikan Variabel dengan Tipe Function Call Signature

Anda dapat mendeklarasikan variabel yang memiliki tipe Function Call Signature:

const add: AddFunction = (a, b) => a + b;

Variabel add sekarang memiliki tipe AddFunction, yang berarti ia hanya dapat merujuk pada fungsi dengan tanda tangan yang sesuai.

Menggunakan Tipe Parameter dalam Fungsi

Anda dapat menggunakan Function Call Signature sebagai tipe parameter dalam fungsi lain:

function performOperation(operation: AddFunction, a: number, b: number): number {
  return operation(a, b);
}

Fungsi performOperation menerima tiga parameter: operasi (tipe AddFunction), a, dan b. Ini memungkinkan Anda untuk mengirimkan berbagai operasi yang sesuai dengan tipe AddFunction ke dalam fungsi performOperation.

Manfaat Function Call Signature

Function Call Signature memiliki manfaat sebagai berikut:

  1. Dokumentasi yang Jelas: Ini memberikan dokumentasi yang jelas tentang tanda tangan fungsi yang diharapkan.

  2. Validasi Kode: TypeScript akan memvalidasi bahwa Anda menggunakan fungsi dengan tanda tangan yang benar.

  3. Fleksibilitas: Ini memberikan fleksibilitas dalam penggunaan fungsi dalam berbagai konteks.

  4. Abstraksi Tingkat Tinggi: Anda dapat menggunakan Function Call Signature dalam kombinasi dengan tipe tinggi seperti Union Types dan Intersection Types untuk menggambarkan tipe data yang lebih kompleks.

Kesimpulan

Function Call Signature adalah alat yang kuat dalam TypeScript untuk mendefinisikan tipe data fungsi dengan tanda tangan yang jelas. Ini membantu dalam dokumentasi kode, validasi tipe data, dan penggunaan fleksibel fungsi dalam berbagai konteks. Dengan pemahaman yang baik tentang cara mendefinisikan dan menggunakan Function Call Signature, Anda dapat membuat kode TypeScript yang lebih kuat dan lebih mudah dimengerti.

Artikel Lainnya Dengan Kategori Terkait :


1. Belajar Typescript #01 | Memahami apa itu Typescript

2. Belajar Typescript #02 | Setup project Typescript

3. Belajar Typescript #03 | Konfigurasi compiler Typescript

4. Belajar Typescript #04 | Membuat code dan menjalankan Typescript

5. Belajar Typescript #05 | Basic types pada Typescript

6. Belajar Typescript #06 | Type data Boolean pada Typescript

7. Belajar Typescript #07 | Type data Number pada Typescript

8. Belajar Typescript #08 | Type data String pada Typescript

9. Belajar Typescript #09 | Type data Null dan Undefined pada Typescript

10. Belajar Typescript #10 | Type data Any pada Typescript

11. Belajar Typescript #11 | Type data Void pada Typescript

12. Belajar Typescript #12 | Object types pada Typescript

13. Belajar Typescript #13 | Object Literal pada Typescript

14. Belajar Typescript #14 | Type data Void pada Typescript

15. Belajar Typescript #15 Object types pada Typescript

16. Belajar Typescript #16 | Memahami dan menerapkan type aliases

17. Belajar Typescript #17 | Memahami dan menerapkan union types

18. Belajar Typescript #18 | Memahami dan menerapkan intersection types

19. Belajar Typescript #19 | Basic types lanjutan - Array

20. Belajar Typescript #20 | Basic types lanjutan - Tuples

21. Belajar Typescript #21 | Basic types lanjutan - Null

22. Belajar Typescript #22 | Basic types lanjutan - Undefined

23. Belajar Typescript #23 | Basic types lanjutan - Void

24. Belajar Typescript #24 | Basic types lanjutan - Never

25. Belajar Typescript #25 | Mengenal teknik lanjutan pada Typescript

26. Belajar Typescript #26 | Optional Parameter

27. Belajar Typescript #27 | Default Parameter

28. Belajar Typescript #28 | Return Type

29. Belajar Typescript #29 | Mendeklarasikan Fungsi - Tanpa Parameter

30. Belajar Typescript #30 | Mendeklarasikan Fungsi - Dengan Parameter

31. Belajar Typescript #31 | Mendeklarasikan Fungsi - Dengan Return Type

32. Belajar Typescript #32 | Mendeklarasikan Fungsi - Sebagai Variabel

33. Belajar Typescript #33 | Mendeklarasikan Fungsi - Sebagai Tipe Data

34. Belajar Typescript #34 | Function Call Signature

35. Belajar Typescript #35 | Menerapkan Types ke dalam class

36. Belajar Typescript #36 | Class declaration

37. Belajar Typescript #37 | Properties dan Methods

38. Belajar Typescript #38 | Object dan Properti dari sebuah class

39. Belajar Typescript #39 | Constructor

40. Belajar Typescript #40 | Konsep OOP - Inheritance

41. Belajar Typescript #41 | Konsep OOP - Abstraction

42. Belajar Typescript #42 | Konsep OOP - Encapsulation

43. Belajar Typescript #43 | Accessors

44. Belajar Typescript #44 | Member visibility / Access modifier

45. Belajar Typescript #45 | Konsep OOP Polymorphism

46. Interfaces TypeScript

Masuk Terlebih dahulu untuk berkomentar

Paling baru
Lihat Lainnya