TypeScript
Superset JavaScript dengan static type checking untuk kode lebih aman.
TypeScript adalah superset JavaScript yang menambahkan static type system. Kode TypeScript dikompilasi menjadi JavaScript sebelum dijalankan. Type checking terjadi saat compile time (bukan runtime) — menangkap bug sebelum aplikasi di-deploy. Fitur utama: Type annotations (let name: string), Interfaces (definisi bentuk object), Generics (tipe yang bisa diparameterisasi — Promise<T>, Array<T>), Union Types (string | number), Type Inference (TypeScript bisa menebak tipe tanpa annotation), dan Decorators. TypeScript meningkatkan developer experience dengan autocomplete, refactoring aman, dan dokumentasi otomatis. Hampir semua library modern menyediakan type definitions (.d.ts files).
Contoh Kode
// TypeScript basics
interface User {
id: number;
name: string;
email: string;
isAdmin?: boolean; // Optional
}
// Function dengan typed parameters dan return type
function getUserById(id: number): Promise<User> {
return fetch(`/api/users/${id}`).then(res => res.json());
}
// Generic function
function wrapInArray<T>(value: T): T[] {
return [value];
}
// Usage: wrapInArray(5) -> number[]
// wrapInArray('hi') -> string[]