टाइपस्क्रिप्ट यूनियन और इंटरसेक्शन प्रकार

टाइपस्क्रिप्ट शक्तिशाली प्रकार प्रणाली सुविधाएँ प्रदान करता है जो आपको सुरक्षित और अधिक पूर्वानुमानित कोड लिखने में मदद करता है। इन सुविधाओं में यूनियन और इंटरसेक्शन प्रकार शामिल हैं, जो जटिल प्रकारों को परिभाषित करने और प्रबंधित करने में लचीलापन प्रदान करते हैं। यह लेख इन अवधारणाओं का परिचय देता है और उनके उपयोग को स्पष्ट करने के लिए उदाहरण प्रदान करता है।

यूनियन के प्रकार क्या हैं?

यूनियन प्रकार एक चर को विभिन्न प्रकार के मान रखने की अनुमति देते हैं। यह तब उपयोगी होता है जब आपको ऐसे मान को दर्शाना होता है जो कई प्रकारों में से एक हो सकता है। यूनियन प्रकारों को | (पाइप) प्रतीक का उपयोग करके दर्शाया जाता है।

संघ के प्रकार परिभाषित करना

यूनियन प्रकार को परिभाषित करने के लिए, आप | प्रतीक द्वारा अलग किए गए एकाधिक प्रकार निर्दिष्ट करते हैं:

let value: string | number;

value = "Hello, TypeScript"; // Valid
value = 42; // Valid
value = true; // Error: Type 'boolean' is not assignable to type 'string | number'

इस उदाहरण में, चर value या तो string या number हो सकता है, लेकिन boolean नहीं हो सकता।

फ़ंक्शन में यूनियन प्रकारों का उपयोग करना

यूनियन प्रकार विशेष रूप से उन फ़ंक्शन में उपयोगी होते हैं जहाँ पैरामीटर या रिटर्न प्रकार कई प्रकार के हो सकते हैं:

function formatValue(value: string | number): string {
  if (typeof value === "string") {
    return value.toUpperCase();
  } else {
    return value.toFixed(2);
  }
}

console.log(formatValue("hello")); // Output: HELLO
console.log(formatValue(123.456)); // Output: 123.46

formatValue फ़ंक्शन एक पैरामीटर लेता है जो या तो string या number हो सकता है और उसे तदनुसार स्वरूपित करता है।

प्रतिच्छेदन के प्रकार क्या हैं?

प्रतिच्छेदन प्रकार आपको कई प्रकारों को एक में संयोजित करने की अनुमति देते हैं। इसका मतलब है कि प्रतिच्छेदन प्रकार का मान प्रतिच्छेदन में सभी प्रकारों को संतुष्ट करेगा। प्रतिच्छेदन प्रकारों को & (एम्परसेंड) प्रतीक का उपयोग करके दर्शाया जाता है।

प्रतिच्छेदन प्रकार परिभाषित करना

प्रतिच्छेदन प्रकार को परिभाषित करने के लिए, आप & प्रतीक द्वारा अलग किए गए एकाधिक प्रकार निर्दिष्ट करते हैं:

interface Person {
  name: string;
}

interface Employee {
  employeeId: number;
}

type EmployeePerson = Person & Employee;

const john: EmployeePerson = {
  name: "John Doe",
  employeeId: 1234
};

console.log(john.name); // Output: John Doe
console.log(john.employeeId); // Output: 1234

इस उदाहरण में, EmployeePerson प्रकार Person और Employee इंटरफेस को संयोजित करता है, जिसके परिणामस्वरूप एक ऐसा प्रकार प्राप्त होता है जिसमें name और employeeId दोनों गुण होते हैं।

फंक्शन्स में इंटरसेक्शन प्रकारों का उपयोग करना

इंटरसेक्शन प्रकारों का उपयोग फ़ंक्शन में एकाधिक प्रकार के गुणों की आवश्यकता के लिए भी किया जा सकता है:

function printEmployeeDetails(employee: Person & Employee): void {
  console.log(`Name: ${employee.name}`);
  console.log(`Employee ID: ${employee.employeeId}`);
}

const jane: EmployeePerson = {
  name: "Jane Smith",
  employeeId: 5678
};

printEmployeeDetails(jane);
// Output:
// Name: Jane Smith
// Employee ID: 5678

printEmployeeDetails फ़ंक्शन को एक तर्क की आवश्यकता होती है जो Person और Employee दोनों प्रकारों को संतुष्ट करता है।

यूनियन और इंटरसेक्शन प्रकारों का संयोजन

आप जटिल प्रकार परिभाषाएँ बनाने के लिए यूनियन और इंटरसेक्शन प्रकारों को संयोजित कर सकते हैं:

type Shape = Circle | Rectangle;

interface Circle {
  kind: "circle";
  radius: number;
}

interface Rectangle {
  kind: "rectangle";
  width: number;
  height: number;
}

function getArea(shape: Shape): number {
  if (shape.kind === "circle") {
    return Math.PI * shape.radius * shape.radius;
  } else {
    return shape.width * shape.height;
  }
}

const myCircle: Circle = { kind: "circle", radius: 10 };
const myRectangle: Rectangle = { kind: "rectangle", width: 20, height: 30 };

console.log(getArea(myCircle)); // Output: 314.159...
console.log(getArea(myRectangle)); // Output: 600

इस उदाहरण में, Shape प्रकार Circle और Rectangle का संयोजन है, और getArea फ़ंक्शन तदनुसार दोनों प्रकारों को संभालता है।

निष्कर्ष

टाइपस्क्रिप्ट में यूनियन और इंटरसेक्शन प्रकार प्रकारों को प्रबंधित करने और संयोजित करने के शक्तिशाली तरीके प्रदान करते हैं, जो प्रकार परिभाषाओं में लचीलापन और सटीकता प्रदान करते हैं। यूनियन प्रकार एक चर को कई प्रकारों में से एक होने की अनुमति देते हैं, जबकि इंटरसेक्शन प्रकार कई प्रकारों को एक में जोड़ते हैं। इन सुविधाओं का उपयोग करके, आप अधिक मजबूत और प्रकार-सुरक्षित अनुप्रयोग बना सकते हैं।

यूनियन और इंटरसेक्शन प्रकारों की क्षमताओं से परिचित होने और अपने टाइपस्क्रिप्ट कोडिंग कौशल में सुधार करने के लिए उनका उपयोग करने का अभ्यास करें।

लिंक
TypeScript