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 TerbukaSaat 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