Banyak banget developer sekarang yg udah mulai pindah dari JavaScript ke TypeScript, dan mungkin kamu juga sering denger orang yg udah gk mau lagi pake JavaScript karena pernah nyobain TypeScript. Kok bisa? Emangnya TypeScript se-nyaman itu kah?
TypeScript itu sebuah transpiled language atau sebuah bahasa pemrograman yang hasilnya di ubah kebahasa pemrograman lainnya. Nah TypeScript ini bisa kamu anggap sebagai JavaScript tapi dengan types seperti string
, number
, boolean
, dan seterusnya. Dan sebenarnya, itu aja yg bedain antara TypeScript dengan JavaScript.
Perbedaan TypeScript sama JavaScript
Biar lebih jelas coba lihat sebuah contoh kode di JavaScript ini:
let nama = "Udin";
function selamatPagi(nama) {
console.log(`Hi ${nama}, Selamat Pagi!`);
}
selamatPagi(nama);
Dan ini adalah kode yg sama, tapi dengan TypeScript:
let nama: string = "Udin";
function selamatPagi(nama: string) {
console.log(`Hi ${nama}, Selamat Pagi!`);
}
selamatPagi(nama);
Mungkin pas kamu lihat ini, kamu sadar kalau bedanya TypeScript sama JavaScript cuman di variabel nama yg ditambah : string
. Dan kamu juga harusnya udah tau fungsinya buat apa, yaitu buat variabel nama jadi punya string types.
Terus, apa fungsinya? masa itu doang? Ya, emang di contoh ini gk kelihatan jelas. Tapi, TypeScript bisa bikin kode kamu lebih type safe.
Alasan kenapa TypeScript disukai
Sekarang kita lihat contoh kode yg lain. Disini, aku mau bikin sebuah function yg bisa kasih ucapan selamat pagi atau selamat malam. Kira-kira gini kodenya:
let nama = "Udin";
function selamat(type, nama) {
if (type === "pagi") {
console.log(`Hi ${nama}, Selamat Pagi!`);
} else if (type === "malam") {
console.log(`Dadah ${nama}, Selamat Malam~`);
}
}
selamat("pagi", nama);
selamat("malam", nama);
Walaupun kode diatas kelihatan oke-oke aja, tapi kode diatas punya kelemahan. Misalnya, pas kamu panggil:
selamat("pag", nama);
Kodenya gk bakal jalan. Kamu bisa tambahin else
buat kasih tau kalau argumen type-nya salah, tapi lebih enak lagi kalau code editor yg kasih tau secara otomatis kan?
Nah, ini yg bikin TypeScript disukai, yaitu bikin kode kamu lebih type safe. Sekarang lihat kodenya tapi dalam TypeScript:
let nama: string = "Udin";
function selamat(type: "pagi" | "malam", nama: string) {
if (type === "pagi") {
console.log(`Hi ${nama}, Selamat Pagi!`);
} else if (type === "malam") {
console.log(`Dadah ${nama}, Selamat Malam~`);
}
}
selamat("pagi", nama);
selamat("malam", nama);
Sekarang, kalau kamu panggil selamat('pag', nama)
, TypeScript bakal ngambek dan kasih tau kalau ‘pag’ itu bukan argumen yg valid.
Ini ngebantu banget karena programmer kadang suka typo dan akhirnya ngehabisin waktu berjam-jam debugging padahal cuman salah nama doang.
Bukan itu aja, dengan TypeScript, kamu bakal dapet code intellisense yg bisa bantu kamu ngasih tau apa argumen yg valid ke sebuah function, apa aja property yg ada di dalam object, dan sebagainya. Bener-bener memudahkan developer lah.
‘TypeScript cuman nambah kode aja’
Ini adalah salah satu argumen yg valid dan alasan kenapa ada orang yg gk suka sama TypeScript. TypeScript pada dasarnya gk nambah fitur apapun ke JavaScript. Gk ada ceritanya sebuah program yg bisa ditulis pake TypeScript tapi gk bisa ditulis pake JavaScript.
TypeScript sangat bergantung pada types. Ini bikin developer kadang nulis kode yg ‘gk berguna’ cuman buat bikin TypeScript gk ngeluarin error lagi. Contohnya seperti kode ucapan selamat pagi diatas. Kalau kamu perhatiin, sebenernya kode itu aman-aman aja buat dipake, bahkan tanpa TypeScript. Penambahan types diatas cuman ditulis biar TypeScript gk ngeluarin error aja pas kamu lagi ngoding.
Tapi, TypeScript bisa bantu bikin kode kamu punya lebih sedikit error saat runtime, ini karena beberapa error yg bisa terjadi udah di tanganin sama TypeScript. TypeScript juga bisa bikin kode kamu lebih konsisten, ini bisa bikin orang lain lebih nyaman pas lihat kode kamu. Apalagi kalau kode kamu di pakai sama orang lain, TypeScript bisa bikin intellisense yg sangat membantu pengguna kode kamu.
Ya mungkin segitu aja dulu untuk perkenalan TypeScript. Ini adalah artikel pertama dari seri TypeScript 101, di artikel selanjutnya, akan ada pembahasan tentang dasar-dasar types di TypeScript dan bagaimana cara setup TypeScript di sebuah aplikasi Node JS. Jadi, tungguin artikel selanjutnya ya!