Apa itu TypeScript? — TypeScript

Pernah deploy aplikasi JavaScript ke production, terus user complain "tombol error pas diklik"? Pas dicek log: cannot read property "name" of undefined. Bug yan

Pernah deploy aplikasi JavaScript ke production, terus user complain "tombol error pas diklik"? Pas dicek log: cannot read property "name" of undefined. Bug yang harusnya ketahuan jam pertama coding, baru muncul setelah user yang nemu. TypeScript = JavaScript + sistem tipe yang nangkep bug ini di editor, sebelum push ke production. Microsoft bikin TS tahun 2012 untuk solve masalah ini, sekarang jadi standar industri — React, Vue, Angular, Next.js semua pakai.

💡 TS = JS dengan kacamata. Semua file JavaScript valid TypeScript. Kamu bisa migrate gradual: rename .js.ts, tambah type satu per satu. Gak perlu rewrite. Compile balik ke JS yang dijalanin browser/Node — TS cuma ada saat development sebagai safety net.

Beda JS vs TS

// JavaScript — error baru ketahuan saat runtime
function tambah(a, b) { return a + b; }
tambah("5", 3); // "53" (bug!)

// TypeScript — error langsung ketahuan saat development
function tambah(a: number, b: number): number { return a + b; }
tambah("5", 3); // ❌ Error: string tidak bisa jadi number

Mengapa TypeScript?

Tipe Dasar

let nama: string = "Budi";
let umur: number = 17;
let aktif: boolean = true;

🎭 Analogi sehari-hari

JavaScript = kotak misterius. Kamu masukin barang, ngarep dapet barang yang sama, tapi gak ada label. TypeScript = kotak ber-label: "INI HARUS BUKU, BUKAN GELAS". Kalau salah masukin gelas ke kotak buku, alarm langsung bunyi pas kamu masukin (di editor) — bukan pas kotak udah dikirim ke pelanggan (production).

⚠️ Jebakan yang sering ditemui

TL;DR: TypeScript = JavaScript + sistem tipe statis. Compile ke JS biasa. Nangkep bug di editor sebelum runtime. Wajib di production project (React/Vue/Angular/Next.js semua pakai). Hindari any. Strict mode WAJIB on. Bukan bahasa baru — JavaScript dengan safety net.

Yang akan kamu pelajari