Penyempitan Tipe Tingkat Lanjut
Pelajari cara menggunakan penjaga tipe tingkat lanjut dan analisis alur kontrol untuk menangani kondisi tipe yang kompleks dengan mudah.
Penyempitan Tipe Tingkat Lanjut adalah pelajaran TypeScript Academy gratis di CoddyKit. Ini adalah pelajaran 1 dari 3. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar TypeScript Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus TypeScript Academy mencakup 3 pelajaran total.
Pengantar Penyempitan Tipe Tingkat Lanjut
Pengantar Penyempitan Tipe Tingkat Lanjut
Penyempitan tipe tingkat lanjut memungkinkan Anda memperjelas tipe kompleks saat waktu berjalan menggunakan teknik canggih seperti penjaga tipe, analisis alur kontrol, dan predikat khusus.
Alat-alat ini membuat kode TypeScript Anda lebih aman dan mudah diprediksi.

Apa Itu Penyempitan Tipe?
Apa Itu Penyempitan Tipe?
Penyempitan tipe adalah proses memperjelas tipe yang lebih luas, misalnya string | number, menjadi tipe yang lebih spesifik menggunakan pemeriksaan saat waktu berjalan.
Menggunakan typeof untuk Penyempitan Tipe
Menggunakan typeof untuk Penyempitan Tipe
Operator typeof dapat digunakan untuk mempersempit tipe primitif:
function printValue(value: string | number): void {
if (typeof value === 'string') {
console.log(`String: ${value}`);
} else {
console.log(`Number: ${value}`);
}
}
printValue('Hello'); // String: Hello
printValue(42); // Number: 42Menggunakan instanceof untuk Penyempitan Tipe
Menggunakan instanceof untuk Penyempitan Tipe
Operator instanceof dapat digunakan untuk mempersempit instans kelas:
class Dog {
bark() {
console.log('Woof!');
}
}
class Cat {
meow() {
console.log('Meow!');
}
}
function makeSound(animal: Dog | Cat): void {
if (animal instanceof Dog) {
animal.bark();
} else {
animal.meow();
}
}
makeSound(new Dog()); // Woof!
makeSound(new Cat()); // Meow!Menggunakan Penjaga Tipe Khusus
Menggunakan Penjaga Tipe Khusus
Anda dapat membuat fungsi penjaga tipe khusus untuk mempersempit tipe dengan lebih tepat:
type Fish = { swim: () => void };
type Bird = { fly: () => void };
declare const animal: Fish | Bird;
function isFish(animal: Fish | Bird): animal is Fish {
return (animal as Fish).swim !== undefined;
}
if (isFish(animal)) {
animal.swim();
} else {
animal.fly();Analisis Alur Kontrol
Analisis Alur Kontrol
Analisis alur kontrol TypeScript secara otomatis mempersempit tipe berdasarkan alur logis kode Anda:
function getLength(value: string | string[]): number {
if (Array.isArray(value)) {
return value.length;
} else {
return value.length;
}
}
console.log(getLength('Hello')); // 5
console.log(getLength(['a', 'b', 'c'])); // 3Manfaat Penyempitan Tipe Tingkat Lanjut
Manfaat Penyempitan Tipe Tingkat Lanjut
Penyempitan tipe tingkat lanjut menyempurnakan kode Anda dengan:
- Mengurangi kesalahan saat waktu berjalan.
- Membuat kode lebih aman dan mudah dipahami.
- Memberikan kendali yang tepat atas penanganan tipe.
Tugas Latihan
Tugas Latihan
Buat fungsi yang menerima parameter bertipe string | number dan mencatat pesan yang berbeda untuk setiap tipe. Gunakan typeof untuk menerapkan logikanya.
Selamat!
Selamat!
Anda telah mempelajari cara menggunakan teknik penyempitan tipe tingkat lanjut dalam TypeScript untuk memperjelas dan menangani tipe kompleks dengan aman dan efektif. Latih teknik-teknik ini agar kode Anda lebih tangguh dan aman terhadap tipe!

Pertanyaan yang Sering Diajukan
Apakah pelajaran “Penyempitan Tipe Tingkat Lanjut” gratis?
Ya — teks lengkap “Penyempitan Tipe Tingkat Lanjut” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus TypeScript Academy, upgrade ke CoddyKit PRO. Kursus TypeScript Academy mencakup 3 pelajaran total.
Apa yang akan aku pelajari di “Penyempitan Tipe Tingkat Lanjut”?
Pelajari cara menggunakan penjaga tipe tingkat lanjut dan analisis alur kontrol untuk menangani kondisi tipe yang kompleks dengan mudah. Kamu berlatih TypeScript Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai TypeScript Academy?
Tidak diperlukan pengalaman sebelumnya. TypeScript Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 3.
Berapa lama pelajaran “Penyempitan Tipe Tingkat Lanjut” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran TypeScript Academy ini?
Ya. Setiap pelajaran TypeScript Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Penyempitan Tipe Tingkat Lanjut
- Fitur Kelas Tingkat Lanjut
- Tipe Kondisional