Dawn iż-żewġ operaturi jippermettulek tidderibi tipijiet minn tipijiet u valuri eżistenti — il-fondazzjoni tal-programmazjoni fil-livell tat-tip.
keyof — l-unjoni tal-immakri tat-tip tal-oġġett
interface User { id: number; : ; }
= keyof ;
Dawn iż-żewġ operaturi jippermettulek tidderibi tipijiet minn tipijiet u valuri eżistenti — il-fondazzjoni tal-programmazjoni fil-livell tat-tip.
interface User { id: number; : ; }
= keyof ;
const config = { host: "localhost", port: 3000 };
type Config = typeof config; // { host: string; port: number }
typeof (fi pożizzjoni tat-tip) jaqbad it-tip inferit ta' valur runtime, biex ma tieħtieġ tikteb it-tip separatament.
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
Hawnhekk K extends keyof T tirristrinngi key għal immakri reali, u T[K] (tip ta' accessed indexat) tirritorna t-tip eżatt tal-valur għall-immakru dak. It-typos isiru żbalji tal-kompilazzjoni.
const Roles = { Admin: "admin", User: "user" } as const;
type Role = typeof Roles[keyof typeof Roles]; // "admin" | "user"
keyof u typeof jikkonettaw id-dinja tal-valuri u d-dinja tat-tipijiet.
Huma jippotenzjaw l-aċċess tal-proprjetà sigur għat-tip, tidderibi tipijiet minn konfigurazzjoni/kostanti (sors wieħed ta' verità), u huma blokki tal-kostruzzjoni għat-tipijiet mapped u conditional.
Huma kif tinixxef il-manutenzjoni manuali ta' definizzjonijiet tat-tip paralleli.