प्रॉक्सी()
ECMAScript 6 द्वारा पेश की गई नई सुविधाओं में से एक प्रॉक्सी () है वस्तु। प्रॉक्सी () ऑब्जेक्ट का उपयोग मौलिक संचालन के लिए कस्टम व्यवहार को परिभाषित करने के लिए किया जाता है (जैसे प्रॉपर्टी लुकअप, असाइनमेंट, एन्यूमरेशन, फंक्शन इनवोकेशन, आदि)।
प्रॉक्सी () ऑब्जेक्ट में 3 प्रमुख शब्द शामिल हैं
1) हैंडलर - यह एक प्लेसहोल्डर ऑब्जेक्ट है जिसमें ट्रैप होते हैं।
2) जाल - जाल संपत्ति की पहुंच प्रदान करते हैं।
3) लक्ष्य - यह एक ऑब्जेक्ट है, जिसे प्रॉक्सी वर्चुअलाइज करता है।
वाक्यविन्यास
var p = new Proxy(target, handler);
निम्नलिखित उदाहरण में, 'p' नामक एक वस्तु है और इसके कुछ गुण हैं। जब हम उन गुणों को निष्पादित करने का प्रयास करते हैं जो ऑब्जेक्ट में परिभाषित नहीं हैं तो अपरिभाषित निष्पादित किया जाएगा जैसा कि आउटपुट में दिखाया गया है।
उदाहरण
<html> <body> <script> var p = { Name: 'Ram kumar', Age: 27 }; document.write(person.Name); document.write("</br>"); document.write(person.Age); document.write("</br>"); document.write(person.designation); </script> </body> </html>
आउटपुट
Ram kumar 27 undefined
जब प्रॉक्सी () उपयोग किया जाता है हम अपरिभाषित आउटपुट को समाप्त कर सकते हैं। प्रॉक्सी () "प्राप्त करें . का उपयोग करके अज्ञात संपत्ति को फंसाने का प्रयास करता है " कीवर्ड। हैंडलर, जिसे एक प्रॉक्सी () . के अंदर परिभाषित किया गया है , लक्ष्य . को पार कर जाएगा और अनुरोधित कुंजी नाम "प्राप्त करें . में "जाल।
निम्नलिखित उदाहरण में शुरू में वस्तु 'पी' का कोई पदनाम और भूमिका नहीं है। लेकिन बाद में जब proxy() तस्वीर में आया, वस्तु और उसके गुण 'प्राप्त करें . का उपयोग करके फंस गए थे ' और अनअसाइन किए गए गुण आउटपुट में दिखाए गए अनुसार प्रदर्शित किए गए थे।
उदाहरण
<html> <body> <script> var p = { Name: 'Ram kumar', Age: 27 }; var handler = { get: function(target, prop) { return prop in target ? target[prop] : 'Content developer'; } }; var prox = new Proxy(p, handler); document.write(prox.Name); document.write("</br>"); document.write(prox.Age); document.write("</br>"); document.write(prox.designation); document.write("</br>"); document.write(prox.role); </script> </body> </html>
आउटपुट
Ram kumar 27 content developer content developer