पाठ 11 / 26
वैकल्पिक और readonly प्रॉपर्टीज़
प्रॉपर्टीज़ को हमेशा-मौजूद-नहीं, या कभी-न-बदलने वाला चिह्नित करें।
वैकल्पिक प्रॉपर्टीज़
प्रॉपर्टी नाम के बाद ? का मतलब है कि यह ऑब्जेक्ट में पूरी तरह ग़ायब हो सकती है।
interface Config {
host: string;
port?: number; // optional
}
const c1: Config = { host: "localhost" }; // OK
const c2: Config = { host: "localhost", port: 8080 }; // OKreadonly प्रॉपर्टीज़
readonly, किसी प्रॉपर्टी को एक बार (आमतौर पर बनते समय) सेट करने देता है पर बाद में दोबारा असाइनमेंट रोक देता है।
interface Point {
readonly x: number;
readonly y: number;
}
const p: Point = { x: 0, y: 0 };
p.x = 10;
// Error: Cannot assign to 'x' because it is a read-only property.readonly केवल कंपाइल-टाइम पर
readonly कंपाइल-टाइम पर मिटा दिया जाता है — यह TS कोड में सुरक्षा देता है, उस JS कोड से नहीं जो रनटाइम पर टाइप्स को नज़रअंदाज़ करता है।