cover-img

4 Alasan Mengapa Kalian Sebaiknya Menggunakan Typescript

Javascript mah udah enak, bebas & cepat dalam menulis kode. Ngapain pindah ke Typescript yang notabene nya lebih "strict" ? apa-apa di error-in.

18 August, 2022

0

0

0

بسم الله الرحمن الرحيم
Halo engs, gimana kabarnya ?
Buat kalian-kalian yang sekarang ini udah pewe dengan javascript, izinkan saya untuk mengajak kalian untuk bisa naik level lagi.
Tapi jika kalian belum bisa javascript, saya sarankan untuk pelajari dulu javascript sampai kalian pewe, lalu lanjut baca artikel ini.
Sebelum kita ke hidangan utama, yuk kita napak tilas dulu sejarah dari javascript
Javascript diciptakan sebagai bahasa pemrograman yang kecil yang tujuannya hanya untuk meng-handle interaksi sederhana yang ada pada website. Oleh karena itulah, syntax nya sangat simpel, dan tanpa ada yang namanya static type checking.
Karena tujuan awalnya adalah sebagai bahasa yang sederhana, dan hanya support website sederhana, maka jika diterapkan static type checking seperti yang ada pada bahasa lain seperti Java, ini akan menyulitkan developer.
Jadi, kita tidak perlu menentukan apa tipe dari variabel yang kita buat. Dan proses development pun akan menjadi lebih cepat, dan fitur akan lebih cepat terdeliver.
Ini tentu beda dengan bahasa Java yang menerapkan static type checking, karena Java emang di design untuk membuat aplikasi kompleks. Sehingga diperlukan static type checking supaya software nya dapat di maintain oleh developernya.
Namun kenyataan saat ini adalah, javascript berkembang pesat sehingga sekarang hampir semua website pasti menggunakan javascript, dan website saat ini juga sudah se-kompleks aplikasi desktop & mobile.
Tetapi masalahnya, javascript masih menggunakan dynamic type checking, sehingga diperbolehkan untuk mengganti tipe data setelah variabel di-deklarasikan.
Perlu diketahui bahwa dynamic type checking ini kurang baik jika dipakai di aplikasi yang kompleks. Bayangkan jika kalian punya fungsi seperti ini di aplikasi kompleks kalian
Anggap saja ada 100 fitur di dalam aplikasi kalian yang menggunakan fungsi ini.
Dan ternyata ada typo di salah satu fitur yang menggunakan fungsi `getAge()` saat membuat object usernya.
Dan boom, saat user menggunakan fitur tersebut, mereka pun komplain karena ada bugs, karena umur user nya kok malah jadi "0".
Ini bisa fatal, karena kesalahan kode nya baru bisa terdeteksi disaat aplikasinya berjalan. Belum lagi proses debuggingnya untuk menentukan di fungsi mana letak kesalahannya. Kita mungkin saja harus cek keseratus fitur itu satu persatu. Wuihh ga kebayang dah gimana pusingnya itu.
Memang, ini bisa dihindari dengan membuat unit test, tapi tetap saja, masalah utamanya adalah permasalahan konyol seperti ini baru dapat terdeteksi setelah fiturnya di deploy ke production.
Alangkah lebih baik jika kita bisa mencegah hal ini sebelum sampai ke sisi user. Alangkah lebih baik jika error nya muncul disaat proses development.
Oleh karena itu, disinilah Typescript dapat membantu kita. Berikut X alasan kenapa kamu harus menggunakan Typescript

1. Meminimalisir Kesalahan Kecil Seperti Typo

Bisa dilihat dari kasus diatas, hanya typo sedikit saja tapi dampaknya signifikan. Dengan typescript, aplikasi tidak akan jalan apabila terdapat typo.
img

See ? Typescript akan "marah" jika ketemu typo seperti ini.

2. Kemudahan Dalam Membaca Kode

Bayangkan jika kalian baru saja diterima di suatu perusahaan teknologi yang mana kalian harus melanjutkan suatu proyek javascript. Lalu kalian menemukan banyak sekali function, atau class, dimana function & class tersebut tidak menggunakan static typing.
Nah, disaat kalian ingin membuat suatu fitur yang akan memanggil fungsi-fungsi tersebut, kalian harus membaca terlebih dahulu fungsi-fungsi nya agar mengetahui nilai apa saja yang dibutuhkan dari dalam object `user` di dalam fungsi tersebut.
Bayangkan, berapa fungsi yang harus kalian baca terlebih dahulu untuk bisa membuat fitur tersebut ?
Dengan typescript, kita tidak perlu melakukan itu lagi. Jika penamaan fungsinya sudah baik, cukup dengan memanggil fungsinya, langsung ketahuan apa saja input yang dibutuhkan di IDE kalian. Cukup dengan memencet tombol "Ctrl + Spasi" atau "Cmd + Spasi" (Mac)
img

Typescript akan memberi tahui kalian apa saja yang dibutuhkan

Jadi, dengan ini kode dapat dengan lebih mudah di maintain oleh developer yang berbeda.

3. Kemudahan dalam Refactoring

Bagi kalian yang belum tahu, refactoring adalah suatu proses dimana kalian mengubah source code tanpa memberi dampak apa-apa ke aplikasi kalian. Ini dapat berupa merubah penamaan variabel, class, fungsi, atau bisa juga merubah struktur fungsi atau class.
Misal, kalian ada suatu fungsi `getAge()` yang kalian letakkan di suatu file yang terpisah, dan terisolasi. Lalu ada banyak fitur yang menggunakan fungsi tersebut.
Lalu beberapa bulan kemudian, manager kamu meminta membuat fitur untuk menampilkan umur dari perusahaan si user.
Kalian pun menyadari bahwa penamaan `getAge` itu terlalu umum. Dan kalian harus merefactor fungsi tersebut menjadi `getUserAge()` atau semacamnya.
Apakah dengan mengganti fungsi tersebut, masalah jadi selesai ? oo tidak kawan. Kalian harus membuka SEMUA fitur yang memanggil fungsi tersebut, lalu rename satu persatu.
Lalu kalian harus melakukan regression testing terhadap semua fitur tersebut, sebelum fitur-fitur tersebut masuk ke production.
Pertanyaannya, apa yang akan terjadi jika kalian Lupa atau Kelewatan 1 fungsi saja ? Yap, Bugs !
Nah, dengan typescript, sesaat setelah kalian merefactor fungsi `getAge()`, compiler nya akan "Marah", dan menampilkan list dari semua fungsi yang "Error" karena perubahaan nama tersebut.
Dengan itu, tidak akan terlewat satupun fungsi yang belum ter-refactor. Dan yang paling penting, kalian tidak perlu melakukan test terhadap fitur-fitur tersebut.

4. Kemudahan dalam Menerapkan Design Pattern

Bagi kalian yang pernah belajar OOP, pasti kalian tahu sama yang namanya Design Pattern.
Intinya, design pattern itu memudahkan kita untuk membuat suatu aplikasi yang scalable, yang dapat di extend dengan mudah di masa depan, tanpa harus merombak kodingan yang sudah pernah kita buat sebelumnya.
Nah, design pattern itu ada banyak. Contohnya Factory Pattern, Observer Pattern, Strategy Pattern, dll. InsyaAllah kita akan bedah satu per satu di lain waktu.
Static type checking sangat dibutuhkan untuk mengimplementasi design pattern ini, tanpa itu, akan sangat sulit untuk melakukannya.

Kesimpulan

Typescript akan memudahkan kalian untuk membuat suatu aplikasi web yang bersih, dan berkualitas.
Memang, typescript itu lebih strict, tapi strict ke arah yang baik. Karena akan fatal akibatnya jika user yang menemukan bugs nya.
Typescript tidak menjamin bahwa kode kalian akan 100% bug free, tapi Typescript akan membantu meminimalisir bug sebelum sampai ke user.
Typescript tidak menjamin bahwa kode kalian akan rapih & bersih 100%, tapi Typescript akan membantu kalian untuk membuat suatu kode yang rapih & bersih.
Semoga artikel ini dapat memotivasi kalian yang sudah pewe dengan Javascript, untuk menaikkan skill kalian lagi.
Sampai jumpa di lain waktu
مع السلامه

0

0

0

Rangga Rifqi Pratama
Software Engineer at Staffany | Clean code enthusiast

More Articles

Showwcase is a professional tech network with over 0 users from over 150 countries. We assist tech professionals in showcasing their unique skills through dedicated profiles and connect them with top global companies for career opportunities.

© Copyright 2025. Showcase Creators Inc. All rights reserved.