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 (misalnya42,3.14).boolean: Mewakili nilai kebenaran (trueataufalse).nulldanundefined: Mewakili ketiadaan nilai yang disengaja atau tidak disengaja.
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.
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:
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:
function logMessage(message: string): void {
console.log(message);
}Cobalah sendiri
Latihan 1: Variabel yang Diketik
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.
Tunjukkan petunjuk
Gunakan sintaks : string, : number, dan : boolean setelah nama setiap variabel.
Solusi tersedia setelah 3 upaya
Latihan 2: Fungsi Ucapan
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.
Tunjukkan petunjuk
Deklarasikan fungsinya sebagai fungsi salam(nama: string): string { ... } dan kembalikan pesannya.
Solusi tersedia setelah 3 upaya
Latihan 3: Konverter Suhu
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.
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
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.
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