Ligeann an dá oibreoir seo duit cineálacha a dhíorthú ó chineálacha agus luachanna atá ann cheana — bonn an rhagchláraithe ag leibhéal na gcineálacha.
keyof — an t-aontacht d'eochracha cineálacha réada
interface User { id: ; : ; }
= keyof ;
Ligeann an dá oibreoir seo duit cineálacha a dhíorthú ó chineálacha agus luachanna atá ann cheana — bonn an rhagchláraithe ag leibhéal na gcineálacha.
interface User { id: ; : ; }
= keyof ;
const config = { host: "localhost", port: 3000 };
type Config = typeof config; // { host: string; port: number }
typeof (i suíomh cineálacha) gabhann sé an cineál intuigthe de luach runtime, ionas nach bhfuil ort an cineál a scríobh amach ar leithligh.
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
Anseo sriantaíonn K extends keyof T an key d'eochracha fíora, agus tugann T[K] (cineál rochtain dhíolta) ar ais an cineál luacha beacht don eochair sin. Botúin srachadh i gcódú earráide a thiomsú.
const Roles = { Admin: "admin", User: "user" } as const;
type Role = typeof Roles[keyof typeof Roles]; // "admin" | "user"
Nasc keyof agus typeof an domhan luacha agus an domhan cineálacha.
Siad an dríodh a bhíonn ar rochtain maoine ar dhóigh shlán, cineálacha a dhíorthú ó rúndiamhair/tairiscintí (foinse amháin den fhírinne), agus bloic tógála d'aonaid mhapáilte agus cineálach bharrúil.
Siad an bealach ar fhéad tú seachaint ó láimh a bhíonn ag freastal ar shainmhínithe cineálacha comhthreomhar.