# 🧠 Kenapa Banyak Developer Balik Lagi ke JavaScript?

Pertanyaan yang sangat tepat. Tren ini memang **terjadi**, dan patut kita telaah dengan jernih. Banyak developer yang **awalnya semangat migrasi ke TypeScript (TS)**, lalu **kembali ke JavaScript (JS)**. Apakah ini benar? **Ya**, tapi **tidak berarti TypeScript buruk**. Mari kita bedah.

---

### 1\. **TypeScript Butuh Disiplin dan Waktu**

* TS memaksa kita memikirkan tipe data dengan lebih serius.
    
* Untuk proyek cepat, eksperimen, atau hackathon, TS terasa berat.
    
* Banyak yang merasa “saya bisa bikin ini 2x lebih cepat di JS”.
    

### 2\. **Boilerplate & Verbositas**

Contoh perbandingan:

```ts
// TypeScript
function greet(name: string): string {
  return `Hello ${name}`
}
```

```js
// JavaScript
function greet(name) {
  return `Hello ${name}`
}
```

> Untuk proyek kecil atau pribadi, TS terasa **terlalu cerewet**.

### 3\. **Masalah Konfigurasi & Tooling**

* Harus setup: `tsconfig.json`, types untuk library, kadang konflik dengan bundler (Vite, Webpack, dll).
    
* Kadang error bukan karena kode, tapi karena tipe pihak ketiga (`@types/...`).
    

### 4\. **Frustrasi Karena Type Error "Tidak Masuk Akal"**

* Jebakan seperti:
    
    * `data: siswa`
        
    * `as const`
        
    * akses ke object `{}`
        
* Developer merasa "TypeScript terlalu pintar tapi nggak membantu".
    

### 5\. **Runtime Tidak Aman Walau Pakai TS**

* TS hanya **compile-time checking**.
    
* Saat runtime, bisa tetap error kalau:
    
    * `fetch()` tidak mengembalikan data seperti yang diharapkan.
        
    * Ada `JSON.parse()` yang salah.
        
* Jadi sebagian merasa, “buat apa capek-capek pakai TS kalau runtime bisa meledak juga?”
    

---

## ✅ Tapi Kenapa Banyak Developer **Tetap Pakai TypeScript**?

### 1\. **Proyek Skala Besar atau Tim**

* **Auto-complete**, **refactoring**, dan **navigasi kode** jadi jauh lebih kuat.
    
* Error tertangkap **sebelum deploy**.
    
* Integrasi dengan editor (VSCode) sangat baik.
    

### 2\. **Dokumentasi Otomatis dari Type**

* Tanpa harus buka dokumentasi eksternal.
    
* Type juga bisa jadi semacam "kontrak".
    

### 3\. **Scaling Codebase dan Hiring**

* Kode lebih mudah di-maintain dan dipahami orang lain.
    
* Jadi standar di banyak perusahaan (terutama startup dan perusahaan besar).
    

---

## ⚖️ Kesimpulan: Apakah Harus Tinggalkan TypeScript?

### 🔸 Tidak Perlu Fanatik ke Salah Satu

Gunakan:

* **JavaScript** untuk:
    
    * Proyek pribadi, prototipe, eksperimen, atau pembelajaran dasar.
        
    * Belajar logika dan struktur dulu tanpa dibebani tipe.
        
* **TypeScript** untuk:
    
    * Proyek skala menengah-besar, kolaborasi tim, atau production.
        
    * Saat ingin menjaga kualitas kode jangka panjang.
        

---

## 🎯 Rekomendasi

Karena :

* Mengajar dan membuat proyek jangka panjang.
    
* Ingin efisiensi + best practice.
    

Maka strategi terbaik:

1. **Gabungkan keduanya:** Mulai dari JS, lalu konversi ke TS bertahap.
    
2. **Pakai** `JSDoc` dulu kalau belum siap TS full.
    
3. Ajarkan **jebakan umum TS**.
    
4. Fokuskan TS di bagian backend / API dulu, frontend bisa menyusul.
    

---
