ऑब्जेक्ट डीस्ट्रक्चरिंग प्रकार
नाम बदलने वाले सिंटैक्स में भ्रमित हुए बिना डीस्ट्रक्चर किए गए ऑब्जेक्ट गुणों के प्रकार निर्धारित करें।
ऑब्जेक्ट डीस्ट्रक्चरिंग प्रकार, CoddyKit पर TypeScript Academy का एक निःशुल्क पाठ है। यह 4 में से 1वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह TypeScript Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। TypeScript Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
डिस्ट्रक्चरिंग और प्रकार
ऑब्जेक्ट डिस्ट्रक्चरिंग किसी ऑब्जेक्ट से प्रॉपर्टी निकालकर उन्हें स्थानीय चरों में रखती है। TypeScript के साथ आप डिस्ट्रक्चर की गई संरचना पर प्रकार-टिप्पणी कर सकते हैं — लेकिन इसके वाक्य-विन्यास में एक प्रसिद्ध जाल है। आइए इसे सही तरीके से समझें।
ऑब्जेक्ट डिस्ट्रक्चरिंग का आधार
साधारण डिस्ट्रक्चरिंग नाम के आधार पर प्रॉपर्टी निकालती है। TypeScript स्रोत ऑब्जेक्ट से हर चर का प्रकार अपने-आप निर्धारित करता है।
const user = { name: "Ada", age: 36 }
const { name, age } = user
console.log(name, age) // Ada 36पूरे पैटर्न पर प्रकार-टिप्पणी
डिस्ट्रक्चर किए गए चरों पर प्रकार-टिप्पणी करने के लिए प्रकार को पूरे पैटर्न के बाद रखें और ऑब्जेक्ट की संरचना का वर्णन करें — हर चर के बाद नहीं।
const { name, age }: { name: string; age: number } = {
name: "Leo",
age: 5,
}
console.log(name, age)फ़ंक्शन पैरामीटर की डिस्ट्रक्चरिंग
एक बहुत सामान्य तरीका है: पैरामीटर ऑब्जेक्ट को सीधे हस्ताक्षर में डिस्ट्रक्चर करना और उसकी संरचना पर प्रकार-टिप्पणी करना। बॉडी के भीतर name और id के प्रकार वाले स्थानीय चर उपलब्ध होते हैं।
function greet({ name }: { name: string }) {
return "Hi " + name
}
console.log(greet({ name: "Sam" }))कोलन से होने वाला भ्रम
डिस्ट्रक्चरिंग में कोलन का अर्थ नाम बदलना होता है, प्रकार-टिप्पणी करना नहीं। { name: string } लिखने पर name का मान रखने वाला string नाम का चर बनता है — लगभग कभी भी आपका यही आशय नहीं होता।
const user = { name: "Ada" }
const { name: renamed } = user // renamed holds "Ada"
console.log(renamed) // Ada
// 'name' is NOT defined hereनाम बदलना और प्रकार लिखना साथ-साथ
यदि आपको नाम भी बदलना है और प्रकार भी लिखना है, तो पहले कोलन के साथ नाम बदलें, फिर पूरे पैटर्न पर प्रकार-टिप्पणी करें। आकार की टिप्पणी में मूल प्रॉपर्टी नाम ही उपयोग होते हैं।
const { name: who }: { name: string } = { name: "Ada" }
console.log(who) // Adaनामित प्रकार का उपयोग
किसी भी जटिल संरचना के लिए इनलाइन आकार की बजाय नामित इंटरफ़ेस को प्राथमिकता दें। इसे पढ़ना आसान होता है और इसका दोबारा उपयोग किया जा सकता है।
interface User {
name: string
age: number
}
function show({ name, age }: User) {
console.log(name + " is " + age)
}
show({ name: "Ada", age: 36 })कुछ ही प्रॉपर्टी का विघटन
आपको हर फ़ील्ड निकालना आवश्यक नहीं है। जो चाहिए वही चुनें; आपके बनाए गए स्थानीय चरों के लिए बाकी ऑब्जेक्ट के प्रकार को नज़रअंदाज़ कर दिया जाता है।
interface User { name: string; age: number; email: string }
function label({ name }: User) {
return name.toUpperCase()
}
console.log(label({ name: "ada", age: 1, email: "a@b.c" }))वापसी मानों का विघटन
जब कोई फ़ंक्शन ऑब्जेक्ट लौटाता है, तो आप तुरंत उसके परिणाम का विघटन कर सकते हैं। प्रकार, वापसी प्रकार से आपके स्थानीय चरों तक अपने-आप पहुँच जाते हैं।
function makePoint(): { x: number; y: number } {
return { x: 1, y: 2 }
}
const { x, y } = makePoint()
console.log(x + y) // 3बाकी मान एकत्र करना
रेस्ट पैटर्न बची हुई प्रॉपर्टीज़ को एक नए ऑब्जेक्ट में एकत्र करता है। TypeScript इसका प्रकार स्रोत प्रकार में से निकाली गई कुंजियों को हटाकर निर्धारित करता है।
interface User { id: number; name: string; age: number }
const u: User = { id: 1, name: "Ada", age: 36 }
const { id, ...rest } = u
console.log(id, rest.name, rest.age)इनलाइन और नामित प्रकार का पुनरावलोकन
एक बार उपयोग होने वाले छोटे पैटर्न के लिए इनलाइन आकार ठीक रहते हैं। जैसे ही आकार बड़ा हो या दोहराया जाए, नामित प्रकार का उपयोग करें। और याद रखें: कोलन नाम बदलता है, जबकि प्रकार-टिप्पणी बंद ब्रेस के बाद आती है।
interface Opts { verbose: boolean }
const run = ({ verbose }: Opts) => verbose ? "loud" : "quiet"
console.log(run({ verbose: true }))त्वरित जाँच
टाइप किए गए ऑब्जेक्ट के विघटन की अपनी समझ जाँचें।
पुनरावलोकन
विघटन पर प्रकार-टिप्पणियाँ पूरे पैटर्न के बाद आती हैं और ऑब्जेक्ट के आकार का वर्णन करती हैं। पैटर्न के अंदर का कोलन किसी बाइंडिंग का नाम बदलता है, उसका प्रकार नहीं लिखता। फ़ंक्शन के पैरामीटरों और वापसी मानों का विघटन आकार की टिप्पणियों या नामित प्रकारों के साथ करें, केवल आवश्यक फ़ील्ड निकालें और बाकी को एकत्र करने के लिए रेस्ट पैटर्न का उपयोग करें।
एआई शिक्षक के साथ TypeScript सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 101
- पाठ
- 352
अक्सर पूछे जाने वाले प्रश्न
क्या “ऑब्जेक्ट डीस्ट्रक्चरिंग प्रकार” पाठ निःशुल्क है?
हाँ—“ऑब्जेक्ट डीस्ट्रक्चरिंग प्रकार” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और TypeScript Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। TypeScript Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“ऑब्जेक्ट डीस्ट्रक्चरिंग प्रकार” में मैं क्या सीखूँगा?
नाम बदलने वाले सिंटैक्स में भ्रमित हुए बिना डीस्ट्रक्चर किए गए ऑब्जेक्ट गुणों के प्रकार निर्धारित करें। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ TypeScript Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या TypeScript Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर TypeScript Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 1वाँ पाठ है।
“ऑब्जेक्ट डीस्ट्रक्चरिंग प्रकार” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस TypeScript Academy पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर TypeScript Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- ऑब्जेक्ट डीस्ट्रक्चरिंग प्रकार
- ऐरे और टपल डीस्ट्रक्चरिंग
- डीस्ट्रक्चरिंग में डिफ़ॉल्ट मान
- नेस्टेड डीस्ट्रक्चरिंग पैटर्न