TypeScriptTingkat: Menengah6 min

Operator satisfies vs Type Annotations

Pahami perbedaan vital antara anotasi tipe konvensional (:) dan operator modern satisfies di TypeScript 4.9+ yang memvalidasi tipe tanpa menghilangkan inferensi tipe literal aslinya.

Mengapa Memilih satisfies daripada : Type?

Pratinjau Terbuka

Saat menggunakan anotasi titik dua (:), tipe variabel diperlebar (widened). Operator satisfies memverifikasi kesesuaian nilai terhadap kontrak tipe tanpa memperlebar tipenya, melestarikan metode bawaan tipe yang lebih spesifik.

Contoh Kode Sintaks
type WarnaTema = 'primary' | 'secondary' | 'accent';
type KonfigurasiWarna = Record<WarnaTema, string | [number, number, number]>;

// Menggunakan operator satisfies
const temaAplikasi = {
    primary: "#0284c7",
    secondary: [15, 23, 42],
    accent: "#f59e0b"
} satisfies KonfigurasiWarna;

// TypeScript tahu persis bahwa temaAplikasi.primary adalah string (bukan string | [number, number, number])
console.log(temaAplikasi.primary.toUpperCase()); // Aman dipanggil!

// TypeScript juga tahu persis bahwa secondary adalah array
console.log(temaAplikasi.secondary.map(n => n * 2)); // Aman dipanggil!

Live Compiler Runner

Akses Kursus Wajib Login

Buka Akses Penuh Silabus & Praktikum

Masuk dengan akun GitHub, Google, atau Akses Cepat Developer untuk membuka seluruh materi mendalam, menjalankan compiler interaktif, mengerjakan kuis, dan menyimpan progres belajar Anda.

145+ Modul Lengkap•Tersimpan Otomatis•Sertifikat Kelulusan Resmi