Lompati ke konten utama
Modul 1 · Pelajaran 1 dari 21/14 dalam kursus~10 min
Pelajaran modul (1/2)

Jenis dan Anotasi Primitif

TypeScript adalah superset yang diketik dari JavaScript, artinya ia menambahkan sintaksis tipe statis di atas JavaScript yang sudah ada. Saat runtime, semua kode TypeScript dikompilasi ke JavaScript murni dan tipenya hilang seluruhnya selama proses pembuatan.

Berkat TypeScript, Anda dapat menemukan kesalahan sebelum kode dijalankan di browser, sehingga membuat proses pengembangan Anda lebih kuat, aman, dan terukur.


Tipe Primitif

TypeScript mendukung tipe primitif JavaScript standar:

  • string: Mewakili rangkaian karakter (misalnya 'Alice', "Hello").
  • number: Mewakili nilai numerik, baik bilangan bulat maupun desimal (misalnya 42, 3.14).
  • boolean: Mewakili nilai kebenaran (true atau false).
  • null dan undefined: Mewakili ketiadaan nilai yang disengaja atau tidak disengaja.
TS
const username: string = 'Alice';
const score: number = 100;
const isActive: boolean = true;

Anotasi dan Inferensi Variabel

Di TypeScript, kita dapat menambahkan anotasi tipe dengan menggunakan titik dua (:) diikuti dengan tipenya.

Jika Anda mencoba menetapkan nilai dengan tipe berbeda (misalnya, menetapkan string ke age yang didefinisikan sebagai number), kompiler TypeScript akan segera memunculkan kesalahan bahkan sebelum kode dijalankan.


Bahaya Tipe any

Tipe any adalah pintu keluar khusus yang memberitahukan TypeScript untuk sepenuhnya menonaktifkan pemeriksaan tipe untuk variabel tersebut.

TS
let data: any = 42;
data = 'Hello'; // No error!
data.nonExistentMethod(); // No error at compile time, but it crashes at runtime!

Menggunakan any meniadakan semua manfaat keamanan penggunaan TypeScript. Ini dianggap sebagai praktik buruk dan hampir selalu harus dihindari dalam kode produksi.


Anotasi Fungsi dan Tipe void

Kita dapat memberi anotasi pada parameter dan nilai kembalian suatu fungsi:

TS
function calculateTax(price: number, taxRate: number): number {
  return price * taxRate;
}

Jika suatu fungsi tidak mengembalikan nilai apa pun (misalnya, hanya menghasilkan console.log), jenis pengembaliannya adalah void:

TS
function logMessage(message: string): void {
  console.log(message);
}

Cobalah sendiri

Latihan 1: Variabel yang Diketik

Latihan#ts.m1.l1.e1
Upaya: 0Memuat…

Deklarasikan tiga variabel yang diketik secara eksplisit: nama pengguna sebagai string dengan nilai 'Alice', skor sebagai angka dengan nilai 100, dan isActive sebagai boolean dengan nilai benar. Jangan gunakan tipe apa pun.

Memuat editor…
Tunjukkan petunjuk

Gunakan sintaks : string, : number, dan : boolean setelah nama setiap variabel.

Solusi tersedia setelah 3 upaya

Latihan 2: Fungsi Ucapan

Latihan#ts.m1.l1.e2
Upaya: 0Memuat…

Buat fungsi bernama salam yang menerima nama parameter bertipe string dan mengembalikan string dalam format 'Halo, ' diikuti dengan namanya. Tentukan secara eksplisit tipe parameter dan tipe kembalian.

Memuat editor…
Tunjukkan petunjuk

Deklarasikan fungsinya sebagai fungsi salam(nama: string): string { ... } dan kembalikan pesannya.

Solusi tersedia setelah 3 upaya

Latihan 3: Konverter Suhu

Latihan#ts.m1.l1.e3
Upaya: 0Memuat…

Deklarasikan fungsi bernama celsiusToFahrenheit yang menerima parameter celsius bertipe angka dan mengembalikan suhu setara dalam derajat Fahrenheit (angka). Rumusnya adalah celsius * 9/5 + 32. Tentukan secara eksplisit tipe parameter dan tipe kembalian.

Memuat editor…
Tunjukkan petunjuk

Kalikan celsius dengan 9, bagi dengan 5, tambahkan 32 dan kembalikan hasilnya dengan tipe pengembalian : number pada fungsi tersebut.

Solusi tersedia setelah 3 upaya

Latihan 4: Perhitungan Diskon

Latihan#ts.m1.l1.e4
Upaya: 0Memuat…

Buat fungsi bernama calculDiscount yang menerima parameter harga tipe nomor dan parameter discountPercent tipe nomor, dan mengembalikan harga diskon akhir sebagai angka. Tentukan secara eksplisit tipe parameter dan tipe kembalian.

Memuat editor…
Tunjukkan petunjuk

Kurangi persentase diskon dibagi 100 dengan 1, lalu kalikan dengan harga. Pastikan untuk membubuhi keterangan pada parameter dan mengembalikan nilai sebagai angka.

Solusi tersedia setelah 3 upaya