वास्तव में आप क्या करने की कोशिश कर रहे हैं पर निर्भर करता है। टाइपस्क्रिप्ट में प्रकार दस्तावेज़ हैं, इसलिए आप इस बारे में इरादा दिखाना चाहते हैं कि जब आप टाइप बना रहे हों तो इस चीज़ का उपयोग कैसे किया जाए।
विकल्प 1: यदि उपयोगकर्ताओं के जीवनकाल के दौरान कुछ नहीं बल्कि सभी विशेषताएँ हो सकती हैं
सभी विशेषताओं को वैकल्पिक बनाएं
type User = {
attr0?: number
attr1?: string
}
विकल्प 2: यदि उपयोगकर्ता वाले चर शून्य हो सकते हैं
type User = {
...
}
let u1: User = null;
यद्यपि, वास्तव में, यहां अगर बिंदु को उपयोगकर्ता वस्तु घोषित करना है, तो इससे पहले कि यह जाना जा सकता है कि इसे क्या सौंपा जाएगा, आप शायद let u1:Userबिना किसी असाइनमेंट के करना चाहते हैं ।
विकल्प 3: आप जो चाहते हैं
वास्तव में, टाइपस्क्रिप्ट का आधार यह सुनिश्चित करना है कि आप उन मानसिक मॉडल के अनुरूप हैं जिन्हें आप गलतियों से बचने के लिए प्रकारों में रेखांकित करते हैं। यदि आप एक-एक करके चीजों को जोड़ना चाहते हैं, तो यह एक आदत है जो टाइपस्क्रिप्ट आपको करने की कोशिश कर रहा है।
अधिक संभावना है, आप कुछ स्थानीय चर बनाना चाहते हैं, फिर उपयोगकर्ता-युक्त चर को असाइन करें जब यह पूर्ण-उपयोगकर्ता बनने के लिए तैयार हो। इस तरह से आप आंशिक रूप से गठित उपयोगकर्ता के साथ कभी नहीं रहेंगे। वे चीजें स्थूल हैं।
let attr1: number = ...
let attr2: string = ...
let user1: User = {
attr1: attr1,
attr2: attr2
}
userप्रकार की होनी चाहिएUser | {}याPartial<User>, या आप को फिर से परिभाषित करने की जरूरत हैUserएक खाली वस्तु अनुमति देने के लिए लिखें। अभी, कंपाइलर सही ढंग से आपको बता रहा है किuserए नहीं हैUser।