प्रौद्योगिकी साझेदारी

es6 इत्यस्मिन् प्रॉक्सी पर्यवेक्षकविधिं कार्यान्वयति

2024-07-08

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

प्रॉक्सी इत्यस्य परिचयः

ES6 इत्यस्मिन् प्रॉक्सी इति विशेषं वस्तु प्रॉक्सी वस्तुनिर्माणार्थं उपयुज्यते । एतत् अस्मान् कस्टम् व्यवहारान् परिभाषितुं शक्नोति, यथा वस्तुनः पूर्वनिर्धारितक्रियाणां अवरोधनं परिवर्तनं च । प्रॉक्सी इत्यस्य उपयोगः वस्तुषु विविधानि कार्याणि अवरुद्ध्य कर्तुं शक्यते, यथा गुण-प्रवेशः, असाइनमेण्ट्, फंक्शन्-आह्वानम् इत्यादयः ।

Proxy इत्यस्य कार्यं लक्ष्यवस्तुनः पुरतः अवरोधस्य स्तरं स्थापयितुं भवति, यत् लक्ष्यवस्तुनः उपरि विविधानि कार्याणि अवरुद्ध्य अनुकूलितुं शक्नोति । Proxy इत्यस्य उपयोगेन वयं access control, data verification, target objects इत्यस्य attribute hijacking इत्यादीनि कार्याणि कार्यान्वितुं शक्नुमः ।

प्रॉक्सी लक्ष्यवस्तुं प्रॉक्सीवस्तुना लपेटयति तथा च हुक् फंक्शन्स् ("traps" इति अपि उच्यते) समुच्चयं प्रदाति यत् प्रॉक्सी ऑब्जेक्ट् इत्यत्र कार्यं कर्तुं शक्नोति । यदा वयं प्रॉक्सी ऑब्जेक्ट् इत्यत्र कार्यं कुर्मः तदा वयं वस्तुतः एतानि हुक् फंक्शन्स् आह्वयन्तः आवश्यकतानुसारं तदनुसारं प्रोसेस् कुर्मः ।

Proxy विशेषतासञ्चालनस्य परिचयः

  • get(target, propKey, receiver): वस्तुगुणानां पठनं अवरुद्धं कुर्वन्तु
  • set(target, propKey, value, receiver): वस्तुगुणानां सेटिंग् अवरुद्ध्य बूलियनमूल्यं प्रत्यागच्छति ।
  • has(target, propKey): प्रॉक्सी मध्ये propKey इत्यस्य ऑपरेशनं अवरुद्ध्य बूलियनमूल्यं प्रत्यागच्छतु ।
  • deleteProperty(target, propKey): delete proxy[propKey] ऑपरेशनं अवरुद्ध्य बूलियनमूल्यं प्रत्यागच्छति ।
  • ownKeys(target): Object.getOwnPropertyNames (प्रॉक्सी), Object.getOwnPropertySymbols (प्रॉक्सी), Object.keys(प्रॉक्सी), for...इत्यस्य लूपमध्ये अवरुद्ध्य सरणीं प्रत्यागच्छतु। एषा मेथड् सर्वेषां लक्ष्यवस्तुनः स्वस्य गुणानाम् गुणनामानि प्रत्यागच्छति, यदा तु Object.keys() इत्यस्य रिटर्न् परिणामे केवलं लक्ष्यवस्तुनः स्वस्य पारयोग्यगुणाः समाविष्टाः सन्ति
  • getOwnPropertyDescriptor(target, propKey): Object.getOwnPropertyDescriptor(proxy, propKey) इत्यस्य अवरोधनं करोति तथा च गुणस्य वर्णनवस्तुं प्रत्यागच्छति ।
  • defineProperty (लक्ष्य, propKey, propDesc): Object.defineProperty (प्रॉक्सी, propKey, propDesc), Object.defineProperties (प्रॉक्सी, propDescs) अवरुद्धं करोति तथा च बूलियन मूल्यं प्रत्यागच्छति ।
  • preventExtensions(target): Object.preventExtensions(proxy) इत्येतत् अवरुद्ध्य बूलियनमूल्यं प्रत्यागच्छति ।
  • getPrototypeOf(target): Object.getPrototypeOf(proxy) इत्यस्य अवरोधनं कृत्वा एकं वस्तु प्रेषयन्तु।
  • isExtensible(target): Object.isExtensible(proxy) इत्यस्य अवरोधनं करोति तथा च बूलियनमूल्यं प्रत्यागच्छति ।
  • setPrototypeOf(target, proto): Object.setPrototypeOf(proxy, proto) इत्यस्य अवरोधनं करोति तथा च बूलियनमूल्यं प्रत्यागच्छति । यदि लक्ष्यवस्तु कार्यम् अस्ति तर्हि अतिरिक्तक्रियाद्वयं भवति यत् अवरुद्धुं शक्यते ।
  • apply(target, object, args): Proxy instance इत्यस्य ऑपरेशनं फंक्शन् कॉलरूपेण अवरुद्धं कुर्वन्तु, यथा proxy(...args), proxy.call(object, ...args), proxy.apply(...)।
  • construct(target, args): Proxy instance इत्यस्य ऑपरेशनं constructor call इत्यस्य रूपेण अवरुद्धं कुर्वन्तु, यथा new proxy(...args) ।

उपयुञ्जताम्‌Proxyप्रेक्षकप्रतिमानं कार्यान्वितं कुर्वन्तु