Materi
TypeScript adalah JavaScript dengan tambahan anotasi tipe. Anotasi ditulis setelah nama variabel, dipisah titik dua, dan menyatakan jenis nilai apa yang boleh disimpan di sana. Tiga tipe dasar yang paling sering dipakai: string untuk teks, number untuk semua angka (bulat maupun pecahan), dan boolean untuk benar atau salah.
const toko: string = "Warung Bu Sari";
const cabang: number = 3;
const buka: boolean = true;Anotasi yang tidak cocok dengan isinya ditolak sebelum kode dijalankan. Menulis const cabang: number = "3" menghasilkan pesan Type 'string' is not assignable to type 'number'. Pesan itu muncul saat kode ditulis, bukan saat orang lain sudah memakai programnya.
Kalau nilainya langsung diisi, kompiler sanggup menyimpulkan tipenya sendiri: const kota = "Medan" sudah dikenali sebagai string tanpa anotasi. Anotasi ditulis eksplisit ketika kamu ingin mengunci niatmu, misalnya pada let yang nilainya diisi belakangan, atau supaya salah isi tertangkap di baris itu juga alih-alih jauh di tempat pemakaiannya. Let tanpa nilai awal dan tanpa anotasi yang diisi atau dibaca di dalam fungsi tidak bisa ditebak tipenya; dengan opsi strict kelas ini (termasuk noImplicitAny), kompiler menolaknya dengan pesan Variable 'total' implicitly has an 'any' type.
Anotasi tidak ikut dijalankan. Sebelum dieksekusi, TypeScript menghapus seluruh anotasi dan menyisakan JavaScript biasa, sehingga tidak ada biaya tambahan saat program berjalan dan tidak ada pemeriksaan tipe lagi setelah program mulai.