Materi
Setiap parameter diberi anotasi di dalam kurung, dan tipe nilai kembali ditulis setelah kurung tutup. Anotasi parameter menjaga pemanggilnya: memanggil ongkir("2", 9000) ditolak dengan pesan Argument of type 'string' is not assignable to parameter of type 'number'. Anotasi nilai kembali menjaga badan fungsinya sendiri, karena setiap return diperiksa terhadap tipe itu.
function ongkir(berat: number, tarif: number): number {
return berat * tarif;
}
function catat(pesan: string): void {
console.log(pesan);
}Parameter tanpa anotasi dianggap bertipe any, dan dengan opsi strict yang dipakai kelas ini kompiler menolaknya dengan pesan Parameter 'berat' implicitly has an 'any' type. Jadi di sini setiap parameter wajib diberi tipe.
Tipe void dipakai untuk fungsi yang tidak mengembalikan nilai, seperti catat di atas yang hanya mencetak. Parameter bernilai bawaan tetap boleh diberi anotasi, dan tipenya harus cocok dengan nilai bawaannya; parameter semacam itu otomatis menjadi opsional bagi pemanggil. Parameter tanpa nilai bawaan ditandai opsional dengan tanda tanya setelah namanya, misalnya diskon?: number; bila tidak dikirim, isinya undefined, jadi badan fungsi perlu memeriksanya sebelum dipakai.