शुरुआती लोगों के लिए टाइपस्क्रिप्ट ऑब्जेक्ट्स को सरल बनाया गया
ऑब्जेक्ट्स जावास्क्रिप्ट और टाइपस्क्रिप्ट का एक मूलभूत हिस्सा हैं। वे आपको संबंधित डेटा और फ़ंक्शन को एक साथ समूहित करने की अनुमति देते हैं, जो आपके कोड में वास्तविक दुनिया की संस्थाओं को मॉडल करने का एक तरीका प्रदान करते हैं। टाइपस्क्रिप्ट जावास्क्रिप्ट ऑब्जेक्ट्स को टाइप सुरक्षा के साथ बढ़ाता है, जिससे आपका कोड अधिक पूर्वानुमानित और बनाए रखना आसान हो जाता है। यह गाइड शुरुआती लोगों के लिए टाइपस्क्रिप्ट ऑब्जेक्ट्स की अवधारणा को सरल बनाएगा।
टाइपस्क्रिप्ट में ऑब्जेक्ट क्या है?
ऑब्जेक्ट कुंजी-मूल्य युग्मों का एक संग्रह है, जहाँ कुंजियाँ स्ट्रिंग (या प्रतीक) होती हैं और मान किसी भी प्रकार के हो सकते हैं। टाइपस्क्रिप्ट में, आप प्रकारों या इंटरफेस का उपयोग करके किसी ऑब्जेक्ट के आकार को परिभाषित कर सकते हैं, यह सुनिश्चित करते हुए कि ऑब्जेक्ट एक विशिष्ट संरचना का अनुसरण करता है।
टाइपस्क्रिप्ट में सरल ऑब्जेक्ट्स को परिभाषित करना
आइए TypeScript में एक सरल ऑब्जेक्ट को परिभाषित करके शुरू करें। यह जावास्क्रिप्ट में ऑब्जेक्ट को परिभाषित करने के तरीके के समान है, लेकिन इसमें टाइप सुरक्षा का अतिरिक्त लाभ भी है।
मूल वस्तु उदाहरण
टाइपस्क्रिप्ट में एक सरल ऑब्जेक्ट को परिभाषित करने का तरीका यहां दिया गया है:
const person: { name: string; age: number } = {
name: "Alice",
age: 25
};
console.log(person.name); // Output: Alice
console.log(person.age); // Output: 25
इस उदाहरण में, person
ऑब्जेक्ट में दो गुण हैं: name
(प्रकार string
) और age
(प्रकार number
)। TypeScript यह सुनिश्चित करेगा कि ऑब्जेक्ट इस संरचना का पालन करता है।
ऑब्जेक्ट संरचना को परिभाषित करने के लिए इंटरफेस का उपयोग करना
इंटरफ़ेस टाइपस्क्रिप्ट में एक शक्तिशाली विशेषता है जो किसी ऑब्जेक्ट के आकार को परिभाषित करता है। इंटरफ़ेस आपके कोड के भीतर अनुबंधों को परिभाषित करने का एक तरीका प्रदान करते हैं, यह सुनिश्चित करते हुए कि ऑब्जेक्ट एक विशिष्ट संरचना का पालन करते हैं।
इंटरफ़ेस को परिभाषित करना
किसी ऑब्जेक्ट की संरचना को परिभाषित करने के लिए इंटरफ़ेस का उपयोग कैसे करें, यहाँ बताया गया है:
interface Person {
name: string;
age: number;
}
const person: Person = {
name: "Bob",
age: 30
};
console.log(person.name); // Output: Bob
console.log(person.age); // Output: 30
इस उदाहरण में, Person
इंटरफ़ेस व्यक्ति ऑब्जेक्ट की संरचना को परिभाषित करता है। person
चर को इस संरचना का पालन करना चाहिए, अन्यथा टाइपस्क्रिप्ट एक त्रुटि फेंक देगा।
ऑब्जेक्ट में वैकल्पिक गुण
टाइपस्क्रिप्ट आपको ?
प्रतीक का उपयोग करके ऑब्जेक्ट में वैकल्पिक गुण परिभाषित करने की अनुमति देता है। ऑब्जेक्ट बनाते समय वैकल्पिक गुणों को छोड़ा जा सकता है, जिससे आप ऑब्जेक्ट संरचनाओं को कैसे परिभाषित करते हैं, इसमें लचीलापन मिलता है।
वैकल्पिक गुणों के साथ उदाहरण
यहाँ एक उदाहरण दिया गया है जहाँ phoneNumber
गुण वैकल्पिक है:
interface Employee {
name: string;
age: number;
phoneNumber?: string; // Optional property
}
const employee1: Employee = {
name: "John",
age: 28
};
const employee2: Employee = {
name: "Doe",
age: 32,
phoneNumber: "123-456-7890"
};
console.log(employee1.phoneNumber); // Output: undefined
console.log(employee2.phoneNumber); // Output: 123-456-7890
इस उदाहरण में, employee1
में phoneNumber
प्रॉपर्टी नहीं है, जबकि employee2
में है। Employee
इंटरफ़ेस के अनुसार दोनों ही मान्य हैं।
ऑब्जेक्ट में केवल पढ़ने योग्य गुण
टाइपस्क्रिप्ट आपको गुण readonly बनाने की अनुमति देता है, जिससे ऑब्जेक्ट बनने के बाद उन्हें संशोधित होने से रोका जा सके। यह अपरिवर्तनीय ऑब्जेक्ट बनाने के लिए उपयोगी है।
केवल पढ़ने योग्य गुणों वाला उदाहरण
यहां बताया गया है कि केवल पढ़ने योग्य गुण कैसे परिभाषित करें:
interface Car {
readonly brand: string;
model: string;
}
const car: Car = {
brand: "Toyota",
model: "Camry"
};
// car.brand = "Honda"; // Error: Cannot assign to 'brand' because it is a read-only property
car.model = "Corolla"; // Valid
console.log(car.model); // Output: Corolla
इस उदाहरण में, brand
प्रॉपर्टी को readonly
के रूप में चिह्नित किया गया है। इसे संशोधित करने का कोई भी प्रयास संकलन-समय त्रुटि का कारण बनेगा।
टाइपस्क्रिप्ट में नेस्टेड ऑब्जेक्ट्स
टाइपस्क्रिप्ट ऑब्जेक्ट्स को नेस्ट किया जा सकता है, जिसका मतलब है कि एक ऑब्जेक्ट में प्रॉपर्टी के रूप में दूसरा ऑब्जेक्ट हो सकता है। जटिल डेटा संरचनाओं में यह आम बात है।
नेस्टेड ऑब्जेक्ट्स का उदाहरण
यहाँ एक नेस्टेड ऑब्जेक्ट का उदाहरण दिया गया है:
interface Address {
street: string;
city: string;
zipCode: string;
}
interface User {
name: string;
age: number;
address: Address; // Nested object
}
const user: User = {
name: "Emily",
age: 27,
address: {
street: "123 Main St",
city: "New York",
zipCode: "10001"
}
};
console.log(user.address.city); // Output: New York
इस उदाहरण में, User
इंटरफ़ेस में नेस्टेड Address
ऑब्जेक्ट है। user
ऑब्जेक्ट इस संरचना का अनुसरण करता है, जिससे नेस्टेड प्रॉपर्टी तक पहुँच मिलती है।
निष्कर्ष
टाइपस्क्रिप्ट में ऑब्जेक्ट्स टाइप डेफ़िनेशन, वैकल्पिक गुण, रीड-ओनली गुण और नेस्टेड संरचनाओं के कारण सादे जावास्क्रिप्ट ऑब्जेक्ट्स की तुलना में अधिक शक्तिशाली और लचीले होते हैं। इंटरफ़ेस का उपयोग करके ऑब्जेक्ट्स को परिभाषित करके, आप अधिक मज़बूत और त्रुटि-मुक्त कोड बना सकते हैं। टाइप सुरक्षा और संरचित डेटा की पूरी शक्ति का दोहन करने के लिए अपनी परियोजनाओं में टाइपस्क्रिप्ट ऑब्जेक्ट्स का उपयोग करना शुरू करें।