type alias memberi nama pada sebuah tipe, termasuk bentuk objek. Untuk bentuk objek, interface dan type alias sama-sama bisa dipakai; type alias juga bisa memberi nama pada tipe yang bukan objek.
Tanda tanya setelah nama properti menandai properti opsional: objek boleh tidak memilikinya, dan saat dibaca nilainya bertipe tipe aslinya atau undefined.
type Kurir = {
nama: string;
armada: string;
catatan?: string;
};
function labelKurir(k: Kurir): string {
if (k.catatan) return `${k.nama} [${k.armada}] ${k.catatan}`;
return `${k.nama} [${k.armada}]`;
}Membaca properti opsional tanpa memeriksanya lebih dulu ditolak ketika hasilnya dipakai sebagai nilai yang wajib ada. Pemeriksaan if seperti di atas membuat TypeScript tahu properti itu pasti terisi di dalam blok tersebut.