"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > डायनामिक गेटर्स और सेटर्स जावास्क्रिप्ट में लचीलेपन को कैसे बढ़ा सकते हैं?

डायनामिक गेटर्स और सेटर्स जावास्क्रिप्ट में लचीलेपन को कैसे बढ़ा सकते हैं?

2024-11-08 को प्रकाशित
ब्राउज़ करें:510

How Can Dynamic Getters and Setters Enhance Flexibility in JavaScript?

जावास्क्रिप्ट में डायनामिक गेटर्स और सेटर्स को लागू करना: एक गाइड

पारंपरिक जावास्क्रिप्ट में, गेटर्स और सेटर्स को विशिष्ट संपत्ति नामों के लिए परिभाषित किया गया है। हालाँकि, ES2015 में पेश किए गए प्रॉक्सी का उपयोग करके अधिक लचीले डायनेमिक गेटर्स और सेटर्स बनाना संभव है। प्रॉक्सी का उपयोग करके उन्हें लागू करने का तरीका यहां बताया गया है:

"use strict"; यदि (प्रॉक्सी का प्रकार == "अपरिभाषित") { नई त्रुटि फेंकें ("यह ब्राउज़र प्रॉक्सी का समर्थन नहीं करता"); } चलो मूल = { उदाहरण: "मूल्य", }; चलो प्रॉक्सी = नया प्रॉक्सी (मूल, { प्राप्त करें (लक्ष्य, नाम, रिसीवर) { यदि (प्रतिबिंब.है(लक्ष्य, नाम)) { चलो rv = Reflect.get(लक्ष्य, नाम, रिसीवर); // लौटने से पहले यहां मान संशोधित करें वापसी आर.वी.; } // अज्ञात गुणों के लिए डिफ़ॉल्ट व्यवहार को परिभाषित करें वापसी "लापता"; } });

उदाहरण उपयोग
"use strict";
if (typeof Proxy == "undefined") {
    throw new Error("This browser doesn't support Proxy");
}
let original = {
    example: "value",
};
let proxy = new Proxy(original, {
    get(target, name, receiver) {
        if (Reflect.has(target, name)) {
            let rv = Reflect.get(target, name, receiver);
            // Modify the value here before returning
            return rv;
        }
        // Define default behavior for unknown properties
        return "missing";
      }
});

console.log(`proxy.example = ${proxy.example}`); // "प्रॉक्सी.उदाहरण = मान" कंसोल.लॉग(`प्रॉक्सी.अज्ञात = ${प्रॉक्सी.अज्ञात}`); // "proxy.unknown = missing"

क्रॉस-ब्राउज़र संगतता
console.log(`proxy.example = ${proxy.example}`); // "proxy.example = VALUE"
console.log(`proxy.unknown = ${proxy.unknown}`); // "proxy.unknown = missing"
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3