यी दुई अपरेटरहरूले तपाईंलाई अवस्थित प्रकार र मानहरूबाट प्रकार निकाल्न दिन्छन् — प्रकार-स्तरीय प्रोग्रामिङको आधार।
keyof — वस्तु प्रकारको कुञ्जीको संघ
interface User { id: number; name: string; }
= keyof ;
const config = { host: "localhost", port: 3000 };
type Config = typeof config; // { host: string; port: number }
typeof (प्रकार स्थितिमा) runtime मानको अनुमानित प्रकार क्याप्चर गर्दछ, यसकारण तपाईंले प्रकार अलग लेख्नु पर्दैन।
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 प्रकार) त्यो कुञ्जीको लागि सटीक मान प्रकार फिर्ता गर्दछ। टाइपोस कम्पाइल त्रुटि बन्न जान्छन्।
const Roles = { Admin: "admin", User: "user" } as const;
type Role = typeof Roles[keyof typeof Roles]; // "admin" | "user"
keyof र typeof मान संसार र प्रकार संसारलाई जोड्छन्।
तिनीहरूले प्रकार-सुरक्षित सम्पत्ति पहुँच, कन्फिग/स्थिरांकहरूबाट प्रकार निकाल्न (सत्यको एकल स्रोत), र mapped र conditional प्रकारहरूको निर्माण ब्लकहरू हुन्।
तिनीहरूले समानान्तर प्रकार परिभाषाहरूको हातले रखरखाव गर्न कसरी बचाउन सकिन्छ।
विस्तृत उत्तरसहित IT अन्तर्वार्ता प्रश्नहरूको पुस्तकालय — जुनियरदेखि सिनियरसम्म।
दान गर्नुहोस्