Type Interference di Function.

Pembelajar IT | Technical Practitioner • Ditulis pada 06 Mei 2026
Type Interference di Function.
Section titled “Type Interference di Function.”Kita telah mempelajari Type Interference. Type Interference adalah Kita tidak perlu memberikan secara explisit tipe datanya. TypeScript sudah secara otomatis memberikan tipe datanya.
Di Function kita dapat melakukan Type Interference di tipe data returnnya. TypeScript bisa secara otomatis memberikan Jenis Tipe Data dari return Functionnya.
Contoh Syntaxnya dapat dilihat dibawah.
function siapaSaya(nama: string, profesi: string) { return `Saya Adalah ${nama}, Saya Seorang ${profesi}`;}
const saya = siapaSaya("akbar", "developer");Seperti yang terlihat di contoh diatas, variable saya secara otomatis menjadi string karena TypeScript menebak secara otomatis yang ingin kita lakukan di function tersebut adalah mengembalikan string.
Kalau kita melakukan hal dibawah ini maka hasilnya akan error.
function siapaSaya(nama: string, profesi: string) { return `Saya Adalah ${nama}, Saya Seorang ${profesi}`;}
// Kita memberikan variable 'saya' tipe data number
const saya: number = siapaSaya("akbar", "developer");Dengan code diatas akan mengahasilkan error, karena typescript secara otomatis memnberikan return function tersebut tipe data string dan kita memasukkannya ke dalam variable dengan tipe data number.
variable dengan tipe data number tidak bisa dimasukkan string karena hal tersebut maka code diatas menyebabkan error.
Perlu Diketahui.
Section titled “Perlu Diketahui.”Kadan developer tidak memberikan tipe data return dikarenakn type interference dengan maksud lebih cepat dan sudah tahu function akan mereturn apa lebih tepatnya satu tipe data dan belum kompleks.
Kalau sudah kompleks, lebih baik secara eksplisit memberikan tipedatanya. Hal ini dikarenakan lebih mudah dalam maintenance maupun developmentnya.
Kalau kita mau merubah function atau method yang sudah dipakai di berbagai tempat, maka kita bisa melihat bentuk returnnya sehingga di tempat lain tidak akan error karena mereka hanya peduli bentuk return dari function atau method.
contoh.
// function di suatu tempatfunction boss(nama: string, level: number) { return { bosName: nama, level: level, };}
const goblin = boss("goblin", 99);
// code disuatu tempatgoblin.level = goblin.level + 1;console.log( `Bos bernama ${goblin.bosName}, sekarang levelnya meningkat menjadi ${goblin.level}`,);Kalau kita ubah kodenya dari level dengan tipe data number menjadi string.
// function di suatu tempat. Kit ubah level dari number menjadi string.function boss(nama: string, level: string) { return { bosName: nama, level: level, };}
const goblin = boss("goblin", "sulit");
// code disuatu tempatgoblin.level = goblin.level + 1;console.log( `Bos bernama ${goblin.bosName}, sekarang levelnya meningkat menjadi ${goblin.level}`,);Code setelahnya menjadi tidak masuk akal, karena dari awalnya level 99 menjadi 100. kalau kita ganti menjadi string dan diganti menjadi sulit akan merubah kode ditempat lain yang menggunakan function. seperti diatas hasil dari level akan menjadi sulit1 karena berbentuk string atau bisa menjadi ERROR.