Chapter
TypeScript adalah superset JavaScript yang menambahkan sistem tipe statis. Dibuat oleh Microsoft, sekarang dipakai oleh hampir semua perusahaan besar.
// Primitive types
let nama: string = "CodeBook"
let umur: number = 5
let aktif: boolean = true
let apapun: any = "bisa apa saja" // hindari any!
// Array
let angka: number[] = [1, 2, 3]
let kata: Array<string> = ["a", "b", "c"]
// Tuple
let pasangan: [string, number] = ["nama", 42]
// Union type — bisa salah satu
let id: string | number = "abc123"
id = 456 // juga valid
// Literal type
let arah: "kiri" | "kanan" | "lurus" = "kiri"// Interface — mendefinisikan bentuk object
interface User {
id: string
nama: string
email: string
xp?: number // optional dengan ?
readonly createdAt: Date // tidak bisa diubah
}
// Type alias
type Level = "Beginner" | "Intermediate" | "Pro" | "Master"
type UserWithLevel = User & {
level: Level
}
// Penggunaan
const user: User = {
id: "123",
nama: "Budi",
email: "budi@example.com",
xp: 1500,
createdAt: new Date()
}// Parameter dan return type
function tambah(a: number, b: number): number {
return a + b
}
// Arrow function
const kali = (a: number, b: number): number => a * b
// Optional & default parameter
function sapa(nama: string, salam: string = "Halo"): string {
return `${salam}, ${nama}!`
}
// Generic function
function identitas<T>(nilai: T): T {
return nilai
}
const angka = identitas<number>(42)
const teks = identitas<string>("hello")