Custom Type Guard Function (is)

Kadang TypeScript kebingungan memastikan tipe datamu — misalnya, apakah variabel hewan itu Kucing atau Anjing? Type guard adalah fungsi penolong yang menjawab keraguan ini (mengembalikan true/false). Dengan penanda khusus seperti val is Anjing pada return type, fungsi ini meyakinkan TypeScript: 'Tenang, kalau hasilnya true, datanya pasti Anjing!' Setelah itu, TypeScript akan memberimu akses ke properti khusus Anjing tanpa protes.

👀 Contoh dulu

function isString(val: unknown): val is string {
  return typeof val === "string";
}
console.log(isString("tes"));

Hasilnya: true

💡 Penanda 'val is string' memberi tahu TS bahwa val pasti string jika fungsi return true.

📝 Sekarang giliranmu

Buat fungsi type guard function isNumber(val: unknown): val is number.

Preview