આ બે operators તમને હાલી વર્તમાન પ્રકારો અને મૂલ્યોથી પ્રકારો મેળવવાની મંજૂરી આપે છે — પ્રકાર-સ્તરીય પ્રોગ્રામિંગનો ভিત્તિ.
keyof — object પ્રકારના કી્સનું યુનિયન
interface User { id: number; name: ; }
= keyof ;
આ બે operators તમને હાલી વર્તમાન પ્રકારો અને મૂલ્યોથી પ્રકારો મેળવવાની મંજૂરી આપે છે — પ્રકાર-સ્તરીય પ્રોગ્રામિંગનો ভিત્તિ.
interface User { id: number; name: ; }
= keyof ;
const config = { host: "localhost", port: 3000 };
type Config = typeof config; // { host: string; port: number }
typeof (પ્રકાર સ્થિતિમાં) રંટાઇમ મૂલ્યના અનુમાનિત પ્રકારને કેપ્ચર કરે છે, તેથી તમારે પ્રકારને અલગથી લખવો પડતો નથી.
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
યહાં K extends keyof T key ને વાસ્તવિક કીમાં મર્યાદિત કરે છે, અને T[K] (એક indexed access type) તે કી માટે ચોક્કસ મૂલ્ય પ્રકાર પરત આપે છે. ટાઇપોશ compile errors બની જાય છે.
const Roles = { Admin: "admin", User: "user" } as const;
type Role = typeof Roles[keyof typeof Roles]; // "admin" | "user"
keyof અને typeof મૂલ્ય દુનિયા અને પ્રકાર દુનિયાને જોડે છે.
તેઓ પ્રકાર-સુરક્ષિત property access, config/constants પરથી પ્રકારો મેળવવી (single source of truth), અને mapped અને conditional types માટે building blocks છે.
તેઓ એવી રીત છે જેથી તમે સમાંતર પ્રકાર વ્યાખ્યાઓ હાથથી જાળવવાથી બચી શકો છો.
વિગતવાર જવાબો સાથે IT ઇન્ટરવ્યૂ પ્રશ્નોની લાઇબ્રેરી — જુનિયરથી સિનિયર સુધી.
દાન કરો