Apa itu Type Assertions dan Type Annotations?

Ariska HidayatAriska Hidayat
3 min read

Type assertions dan type annotations adalah dua fitur penting dalam TypeScript (atau bahasa pemrograman lainnya yang mendukung sistem tipe statis) yang memungkinkan pengembang untuk bekerja dengan tipe data secara lebih eksplisit. Berikut adalah penjelasan tentang masing-masing fitur ini.


Type Assertions

Type assertions adalah cara untuk memberi tahu TypeScript bahwa kita lebih memahami tipe data suatu nilai dibandingkan dengan apa yang dapat disimpulkan oleh TypeScript itu sendiri. Fitur ini memungkinkan kita untuk "memaksa" suatu nilai agar dianggap memiliki tipe tertentu.

Sintaksis Type Assertions

Ada dua cara utama untuk melakukan type assertion:

  1. Menggunakan ``:

     let someValue: unknown = "Hello, world!";
     let strLength: number = (someValue as string).length;
    
  2. Menggunakan sintaks lama (kurang disarankan):

     let someValue: unknown = "Hello, world!";
     let strLength: number = (<string>someValue).length;
    

Kapan Menggunakan Type Assertions?

Type assertions digunakan dalam situasi berikut:

  • Ketika TypeScript tidak dapat menyimpulkan tipe data dengan benar.

  • Ketika kita yakin bahwa nilai tertentu memiliki tipe yang sesuai dengan asumsi kita.

Catatan Penting

Type assertions tidak melakukan pemeriksaan tipe pada runtime. Jika tipe data yang diasumsikan salah, maka akan menyebabkan kesalahan runtime, tetapi TypeScript tidak akan mendeteksi masalah tersebut saat proses kompilasi.


Type Annotations

Type annotations adalah cara untuk secara eksplisit mendeklarasikan tipe data untuk variabel, fungsi, atau parameter. Dengan menggunakan type annotations, pengembang dapat membantu TypeScript memahami tipe data yang seharusnya digunakan selama pengembangan.

Sintaksis Type Annotations

  1. Pada Variabel:

     let message: string = "Hello, TypeScript!";
    
  2. Pada Parameter dan Return Value Fungsi:

     function greet(name: string): string {
         return `Hello, ${name}`;
     }
    
  3. Pada Array:

     let numbers: number[] = [1, 2, 3];
    
  4. Pada Objek:

     let person: { name: string; age: number } = {
         name: "John",
         age: 25
     };
    

Kapan Menggunakan Type Annotations?

  • Ketika TypeScript tidak dapat menyimpulkan tipe data secara otomatis.

  • Ketika ingin memberikan dokumentasi eksplisit tentang tipe data untuk meningkatkan keterbacaan dan kejelasan kode.


Perbedaan Utama

AspekType AssertionsType Annotations
TujuanMemaksa tipe tertentu pada suatu nilai.Mendeklarasikan tipe secara eksplisit.
Sintaksisvalue as Type atau <Type>value.variable: Type atau function(param: Type).
Pemeriksaan TipeTidak memeriksa tipe pada runtime.Memastikan tipe yang sesuai selama kompilasi.

Kesimpulan

  • Type Assertions: Digunakan untuk mengubah cara TypeScript melihat tipe data yang ada. Cocok ketika kita yakin bahwa suatu nilai memiliki tipe tertentu.

  • Type Annotations: Digunakan untuk mendeklarasikan tipe data secara eksplisit, membantu TypeScript memahami tipe yang digunakan dan memberikan perlindungan tipe yang lebih baik.

Kedua fitur ini sangat berguna untuk meningkatkan keandalan dan keterbacaan kode dalam proyek TypeScript.

0
Subscribe to my newsletter

Read articles from Ariska Hidayat directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Ariska Hidayat
Ariska Hidayat

I am an enthusiastic researcher and developer with a passion for using technology to innovate in business and education.