या दोन ऑपरेटरने आपल्याला विद्यमान प्रकार आणि मूल्यांपासून प्रकार व्युत्पन्न करण्याची अनुमती देतात — प्रकार-स्तरीय प्रोग्रामिंगचा आधार।
keyof — ऑब्जेक्ट प्रकारच्या कीचे युनियन
interface User { id: number; name: ; }
= 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 मुलाखत प्रश्नांचे ग्रंथालय — Junior पासून Senior पर्यंत.
देणगी द्या