Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> JavaScript

JavaScript Symbol.toPrimitive: ऑब्जेक्ट को प्रिमिटिव में बदलें

Symbol.toPrimitive एक वेल-नोन सिंबल है जो किसी ऑब्जेक्ट को संबंधित प्रिमिटिव मान में बदलने के लिए फंक्शन को निर्दिष्ट करता है। जब किसी ऑब्जेक्ट को प्रिमिटिव मान की आवश्यकता होती है, तो JavaScript इस मेथड को कॉल करता है।

सिंटैक्स

obj[Symbol.toPrimitive](hint)

hint पैरामीटर अपेक्षित प्रकार निर्दिष्ट करता है: "number", "string", या "default"।

उदाहरण

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <style> 
    body { font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; } 
    div { font-size: 20px; font-weight: 500; } 
</style> </head> <body> 
<h1>JavaScript Symbol.toPrimitive उदाहरण</h1> 
<div class="sample"></div> 
<button class="Btn">यहां क्लिक करें</button> 
<h3>ऊपर दिए गए बटन पर क्लिक करके ऑब्जेक्ट को नंबर के साथ जोड़ें</h3> 
<script> 
    let fillEle = document.querySelector(".sample"); 
    let obj = { 
        num: 22, 
        [Symbol.toPrimitive](hint) { 
            console.log("Hint:", hint); // "number", "string", या "default"
            return this.num; 
        }, 
    }; 
    document.querySelector(".Btn").addEventListener("click", () => { 
        fillEle.innerHTML = obj + 44; // 66 प्रदर्शित होगा
    }); 
</script> </body> </html>

आउटपुट

बटन पर क्लिक करने पर 66 प्रदर्शित होगा (22 + 44)।

व्यावहारिक उदाहरण:

const temperature = {
    celsius: 25,
    [Symbol.toPrimitive](hint) {
        switch (hint) {
            case "number": return this.celsius;
            case "string": return `${this.celsius}°C`;
            default: return this.celsius;
        }
    }
};

console.log(temperature + 5);        // 30 (number context)
console.log(`Temp: ${temperature}`); // "Temp: 25°C" (string context)

यह फीचर ऑब्जेक्ट्स को विभिन्न संदर्भों में स्वाभाविक रूप से व्यवहार करने की अनुमति देता है।

  1. JavaScript Number() फंक्शन JavaScript Number() फंक्शन

    JavaScript Number() फंक्शन ऑब्जेक्ट वैल्यू को तर्क के रूप में पास करके उसके संबंधित न्यूमेरिक वैल्यू में बदल देता है।उदाहरण<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width,

  1. जावास्क्रिप्ट में फ़ंक्शन प्रोटोटाइप जावास्क्रिप्ट में फ़ंक्शन प्रोटोटाइप

    जावास्क्रिप्ट में बनाए गए फ़ंक्शन्स में हमेशा जावास्क्रिप्ट इंजन द्वारा प्रोटोटाइप प्रॉपर्टी जोड़ी जाती है। प्रोटोटाइप प्रॉपर्टी एक ऑब्जेक्ट है जिसमें डिफ़ॉल्ट रूप से कंस्ट्रक्टर प्रॉपर्टी होती है। फ़ंक्शन प्रोटोटाइप को निम्न द्वारा एक्सेस किया जा सकता है - functionName.prototype जब ऑब्जेक्ट्स को फ

  1. जावास्क्रिप्ट में फ़ंक्शन बॉरोइंग जावास्क्रिप्ट में फ़ंक्शन बॉरोइंग

    call(), apply() और bind() का उपयोग जावास्क्रिप्ट में मेथड्स बॉरो करने के लिए किया जाता है। जावास्क्रिप्ट में मेथड्स बॉरो करने के लिए निम्नलिखित कोड है: उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport&qu