Loro operator iki ngidini sampeyan deduce tipe saka tipe lan nilai sing ana — fondasi saka pemrograman tingkat-tipe.
keyof — gabungan kunci-kunci tipe obyek
ts
interface User { id: number; name: string; }
type = keyof ;
Loro operator iki ngidini sampeyan deduce tipe saka tipe lan nilai sing ana — fondasi saka pemrograman tingkat-tipe.
interface User { id: number; name: string; }
type = keyof ;
const config = { host: "localhost", port: 3000 };
type Config = typeof config; // { host: string; port: number }
typeof (ing posisi tipe) nangkep tipe sing diandal-andal saka nilai runtime, supaya sampeyan ora kudu nulis tipe mula-mula.
function getProp<T, K extends keyof T>(obj: T, key: K): T[K] {
return obj[key];
}
const user = { id: 1, name: "Ann" };
getProp(user, "name"); // returns string
getProp(user, "age"); // ❌ Error: "age" is not a key of user
Dene K extends keyof T mbatesi key menyang kunci nyata, lan T[K] (tipe indexed access) menehi balik tipe nilai sing persis kanggo kunci kasebut. Typo dadi compile errors.
const Roles = { Admin: "admin", User: "user" } as const;
type Role = typeof Roles[keyof typeof Roles]; // "admin" | "user"
keyof lan typeof nyambung dunia nilai lan dunia tipe.
Kai nguwasi property access sing aman tipe, deduce tipe saka config/konstanta (sumber kebenaran tunggal), lan minangka blok bangun kanggo tipe mapped lan conditional.
Kai cara sampeyan ngalap tangan-njaga definisi tipe sejajar.