TypeScript में ऑब्जेक्ट संरचना पर नियंत्रण
TypeScript ऑब्जेक्ट की संरचना पर भी नियंत्रण रखता है। मान लीजिए कि हमने अपना उपयोगकर्ता ऑब्जेक्ट घोषित किया है:
typescriptlet user = {name: 'john', age: 30};
घोषणा के समय TypeScript याद रखता है,
कि हमारे ऑब्जेक्ट में कुंजियाँ 'name'
और 'age' हैं, और फिर नियंत्रित करता है कि
वेरिएबल में ठीक इन्हीं कुंजियों वाला ऑब्जेक्ट
संग्रहीत हो।
वेरिएबल में कोई दूसरा ऑब्जेक्ट लिखने का प्रयास कम्पाइलेशन एरर की ओर ले जाता है। आइए कोशिश करते हैं। वेरिएबल में वह ऑब्जेक्ट लिखते हैं, जिसमें एक कुंजी की कमी है:
typescriptuser = {name: 'eric'}; // त्रुटि
वेरिएबल में नया ऑब्जेक्ट लिखते हैं, जिसमें वैसी ही कुंजियाँ हैं, लेकिन एक अतिरिक्त कुंजी भी है:
typescriptuser = {name: 'eric', age: 40, salary: 300}; // त्रुटि
और अब वेरिएबल में वह ऑब्जेक्ट लिखते हैं,
जिसमें केवल कुंजियाँ 'name' और
'age' हैं:
typescriptuser = {name: 'eric', age: 40}; // काम करता है
कोड रन किए बिना निर्धारित करें कि कोड निष्पादन का परिणाम क्या होगा:
typescriptlet date = {year: 2025, month: 12, day: 31};
date = {year: 2025, month: 12};
कोड रन किए बिना निर्धारित करें कि कोड निष्पादन का परिणाम क्या होगा:
typescriptlet date = {year: 2025, month: 12, day: 31};
date = {year: 2025, month: 12, date: 7};