Semua Artikel
Catatan

Dari JavaScript ke TypeScript dengan Tenang

Tidak perlu rewrite total. Ini jalur realistis beradaptasi dari JavaScript murni ke TypeScript tanpa drama.

CehaDev 18 Juli 2026 1 mnt baca
𝕏 f

Dulu saya menunda TypeScript karena merasa "nanti dulu, project-nya kecil". Ternyata makin lama makin mahal untuk mulai. Kalau kamu masih di fase yang sama, ini jalur yang saya rekomendasikan.

Mulai dari Mode Longgar

Jangan langsung strict: true. Nyalakan TypeScript dengan pengaturan lunak dulu:

{
  "compilerOptions": {
    "strict": false,
    "noImplicitAny": true,
    "allowJs": true
  }
}

File .js lama tetap jalan, sementara file baru mulai ditulis sebagai .ts.

Tiping yang Praktis Dulu

Prioritaskan bagian yang paling sering jadi sumber bug:

  1. Respons API β€” definisikan interface bentuk data
  2. Parameter fungsi β€” tipe input/output
  3. Event handler β€” biarkan inferensi Vue/React bekerja
interface ArticleComment {
  id: string
  name: string
  message: string
  at: string
}

function renderComment(c: ArticleComment) {
  // sekarang editor tahu c.message itu string
}

Type bukan formalitas β€” type adalah dokumentasi yang tidak bisa bohong.

any Itu Utang, Bukan Solusi

Sadar bahwa kadang any menggoda. Trik saya: pakai unknown lalu sempitkan.

function parse(input: unknown): ArticleComment {
  const o = input as Record<string, unknown>
  return {
    id: String(o.id),
    name: String(o.name ?? 'Anonim'),
    message: String(o.message),
    at: new Date(String(o.at)).toISOString()
  }
}

Lebih panjang sedikit, tapi runtime-nya aman.

Yang Saya Rasakan Setelah Setahun

Refactor jadi tidak menakutkan. Ganti nama field? Compiler yang bilang bagian mana yang rusak. Bug kelas undefined is not a function praktis hilang.

Pelan-pelan saja. Konsisten lebih penting daripada cepat.

#TypeScript #JavaScript #Karier

Komentar

Komentar tampil publik β€” hindari membagikan data pribadi.

Belum ada komentar

Jadilah yang pertama menyampaikan pendapat!

Artikel Lainnya

Halo Dunia, Artikel Pertama Saya

Perkenalan fitur artikel di CehaDev β€” kenapa blog teknis penting untuk portfolio developer dan apa saja yang akan saya tulis ke depan.

21 Agu 2026 1 mnt baca#Portfolio#Nuxt.js+1