Menengah Exercism • typescript

Dasar-Dasar TypeScript

Ringkasan Pelajaran

Pengenalan tentang static typing dan compiler TypeScript.

Dasar-Dasar TypeScript

TypeScript adalah superset dari JavaScript yang menambahkan static typing ke dalam bahasa tersebut. Ini memungkinkan Anda untuk menangkap kesalahan saat waktu kompilasi (compile-time) alih-alih saat waktu berjalan (run-time), membuat kode Anda lebih kuat dan lebih mudah dipelihara.

Mengapa TypeScript?

JavaScript adalah bahasa dengan pengetikan dinamis (dynamically typed). Ini berarti Anda dapat menetapkan angka ke sebuah variabel dan kemudian menetapkannya kembali ke string tanpa adanya keluhan dari compiler. Meskipun fleksibilitas ini kuat, sering kali hal ini menyebabkan bug yang tidak terduga dalam aplikasi besar.

// JavaScript
let umur = 25;
umur = "dua puluh lima"; // Tidak ada error, tapi mungkin merusak sesuatu nanti

Dalam TypeScript, Anda dapat mendefinisikan tipe variabel secara eksplisit:

// TypeScript
let umur: number = 25;
umur = "dua puluh lima"; // Error: Type 'string' is not assignable to type 'number'.

Tipe Dasar

TypeScript mendukung beberapa tipe dasar:

  • number: Untuk semua nilai numerik (integer, float, dll.)
  • string: Untuk data tekstual.
  • boolean: Untuk nilai true atau false.
  • any: Tipe “tangkap-semua” yang mengabaikan pemeriksaan tipe (gunakan dengan hemat!).
  • void: Digunakan untuk fungsi yang tidak mengembalikan nilai.

Type Inference (Inferensi Tipe)

Anda tidak selalu harus menuliskan tipenya secara eksplisit. TypeScript cukup cerdas untuk menyimpulkan (infer) tipe berdasarkan nilai awal yang Anda berikan.

let pesan = "Halo, TypeScript!"; // TypeScript menyimpulkan ini adalah 'string'
pesan = 123; // Error: Type 'number' is not assignable to type 'string'.

Kompilasi

Browser dan Node.js tidak dapat menjalankan file .ts secara langsung. Anda harus terlebih dahulu mengkompilasi (atau “transpile”) kode TypeScript Anda menjadi JavaScript standar menggunakan TypeScript Compiler (tsc).

tsc kode-saya.ts

Ini akan menghasilkan file kode-saya.js yang kemudian dapat Anda jalankan di lingkungan JavaScript apa pun.