Typescript Gradual Strict Mode Any To Typed
Ringkasan
Strict mode menangkap bug lebih awal, tapi diaktifkan sekaligus ke kode besar akan membanjiri error. Naikkan flag satu per satu.
Konsep Dasar
Flag strict utama (semua aktif bila "strict": true):
noImplicitAny— laranganyimplisit (param tak bertipe).strictNullChecks—null/undefinedharus ditangani.strictFunctionTypes— pemeriksaan param fungsi ketat.noUncheckedIndexedAccess— akses array/objek bisaundefined.
Cara Kerja / Struktur
// Tahap 1
{ "compilerOptions": { "noImplicitAny": true } }
// Tahap 2
{ "compilerOptions": { "strictNullChecks": true } }
// Akhir
{ "compilerOptions": { "strict": true } }// sebelum: any
function f(x) { return x.length; }
// sesudah: typed
function f(x: string): number { return x.length; }Catatan Implementasi
- Urutan disarankan:
noImplicitAny→strictNullChecks→ sisanya. - Ganti
anydenganunknownbila benar-benar tak tahu, lalu narrow. // @ts-expect-erroruntuk kasus yang belum sempat diperbaiki (tidak untuk selamanya).
Kesalahan Umum
- Pakai
anypermanen sebagai "solusi" → kehilangan manfaat TS. strict: truedi menit pertama migrasi.
Glosarium
- Strict mode: kumpulan cek tipe ketat.
- unknown: tipe aman untuk nilai tak dikenal (wajib narrow).