Muhammad Amirul Ihsan
Muhammad Amirul Ihsan Fullstack Developer, Content Creator, suka berbagi pengalaman / pengetahuan lewat tulisan maupun video di kawankoding.com

Apa Itu TypeScript

Selasa, 15 Agustus 2023
Apa Itu TypeScript

Typescript adalah sebuah bahasa pemrograman yang dibuat oleh Microsoft untuk menangani kekurangan dari Javascript.

Berbicara soal teknis Typescript adalah sebuah bahasa pemrograman yang dibangun diatas Javascript, jadi setiap file Javascript juga merupakan file Typescript yang valid, tapi Typescript menambahkan fitur yang keren ke Javascript yang akan membantu kita membuat aplikasi yang lebih robust dan maintainable.

Keuntungan menggunakan Typescript

  • Static Typing
  • Code Completion
  • Refactoring
  • Shorthand Notations

Static Typed

Terdapat 2 macam bahas pemrograman yaitu Statically Typed & Dynamically Typed, pada bahasa pemrograman Statically Typed (C++, C#, Java) kita mengetahui tipe dari sebuah variabel ketika compile atau ngoding.

int number = 1;  // Variabel ini hanya bisa menampung nilai integer saja
number = "a"; // ini tidak bisa / salah

Pada bahasa pemrograman Dynamically Typed (Javascript. Python, Ruby, PHP) tipe variabelnya dinamis, jadi ditentukan ketika runtime dan bisa berubah.

let number = 10; // baut sebuah variabel dengan tipe number / int
number = "a"; // bisa diganti ke string

Jadi variabelnya tidak tetap , ini keren dan memberikan kita fleksibilitas tapi juga membawa masalah. Contoh sederhananya sperti ini.

let number = 10;
number = "a"; 
Math.round(number);

Kode di atas mungkin menyebabkan program berjalan tidak sesuai atau error dan masalahnya adalah kita tidak akan tahu permasalahan ini sampai kita menjalankan aplikasi kita atau menulis unit test, inilah masalah yang ingin diselesaikan oleh TypeScript.

TypeScript

Typescript secara gampang adalah JavaScript dengan Type Checking, dengan TypeScript kita mendefinisikan sebuah tipe variabel secara eksplisit seperti layaknya kita menulis kode pada bahasa pemrograman static typed. Kemudian kita mengirimkan kode kita ke TypeScript Compiler dan Compiler akan memberi tahu jika ada sesuatu yang salah, jadi kita bisa mengetahui kesalahan pada waktu compile.

Contoh, kita mendefiinisikan sebuah variabel sebagai angka, kita tidak bisa memberikan nilai string, TypeScript Compiler akan menghentikan kita saat itu juga, ini terjadi waktu compile, jadi kita tidak harus menjalankan aplikasi kita atau unit test terlebih dulu.

let x: number = 7;
x = "k";

Nggak Cuma Type Checking

Tapi, TypeScript tidak hanya menawarkan Type Checking, saat ini hampir setiap text editor mendukung TypeScript, jadi mereka bisa mendeteksi tipe dari variabel dan mendukung produkrifitas seperti code completion, refactoring dan fitur fitru tambahan yang membantu kita menulis kode yang lebih clean dan ringkas yang dari waktu ke waktu fitur ini juga ditambahkan ke Javascript.

Tapi karena ada banyak peramban web (web browser) dan runtime enviroment untuk mengekseskusi kodeJavaScript dari bermacam macam browser, butuh waktu untuk fitur fitur ini diimplementasikan ke semua browser.Jadi dengan menulis kode dengan TypeScript kita bisa menggunakan fitur dari Javascript di masa depan

TypeScript dibangun di atas JavaScript dan kita bisa menggunakan dimanapun kita menggunakan JavaScript, baik di Backend maupun Frontend.

Kelemahan TypeScipt

Kita sudah banyak membahas keuntungan dan kelebihan dari TypeScript, mari kita bahas beberapa kelemahan TypeScript.

  • Compilation - dengan TypeScript akan selslu ada langkah untuk kompilasi (compilation) , karena pada saat ini, browser tidak mengerti kode TypeScript. Jadi kita memberikan kode TypeScript kita ke TypeScript Compiler dan menerjemahkan ke JavaScript, proses ini dinamakan Transpilation.
  • Disiplin dalam menulis kode - jika kalian adalah prorammer pemalas yang ingin cepat, kalian mungkin merasa TypeScript nggak banget :p, pandangan saya untuk proyek yang sederhana tetap gunakan saja JavaScript, untuk proyek yang besar, kalian akan merasakan betapa membantunya TypeScript dalam proyek besar.