TypeScript pada dasarnya adalah superset dari JavaScript. Kode yang dibuat dalam typescript akan di compile menjadi JavaScript.
Tentu menjadi pertanyaan, kalau begitu kenapa mesti menggunakan TypeScript.
Pertama, TypeScript menambahkan fitur static typing. Jadi setiap variable atau fungsi dapat type datanya. Hal ini dapat mencegah error runtime.
Kedua, TypeScript sebagai JavaScript Transpiler mengimplementasikan fitur-fitur JavaScript terbaru. Jadi kita dapat menggunakan fitur JavaScript terbaru, kemudian dicompile menjadi versi javascript yang paling banyak disupport oleh browser saat ini.
Katakanlah Anda memiliki fungsi sederhana seperti berikut
function speak(val){
document.write(val);
}
var greet1 = "Hello, ";
var greet2 = "World";
var tosay = greet1 + greet2;
speak(tosay);
Jika Anda baru membuat fungsi diatas, kemudian menggunakannya langsung, tentu tidak ada masalah. Anda tidak akan lupa, bahwa fungsi speak diharapkan menerima string.
Namun bila fungsi ini tersimpan difile lain sebagai library helper. Kemudian Anda akan menggunakanya lagi 1 bulan kemudian. Tentu Anda harus melihat source code, dan mencari tahu, parameter apa yang dibutuhkan.
Lainya halnya bila Anda tulis menggunakan TypeScript. Ketika Anda berusaha passing argument dengan tipe data yang salah, maka TypeScript akan menunjukan error.
Contoh kode dibawah, TypeScript akan menampilkan error.
function speak(val: string){
document.write(val);
}
var greet1 = 1;
var greet2 = 2;
var tosay = greet1 + greet2;
speak(tosay);
JIka Anda pasing argument yang sesuai dengan tipe data, maka TypeScript tidak akan menampilkan error.
function speak(val: string){
document.write(val);
}
var greet1 = "Hello, ";
var greet2 = "World!";
var tosay = greet1 + greet2;
speak(tosay);
Silakan coba kode sederhana diatas di https://www.typescriptlang.org/play