मैं फ़ंक्शन प्रॉक्सी पर .toString() को कॉल करने का प्रयास कर रहा हूं।फ़ंक्शन प्रॉक्सी .toString() त्रुटियां
बस एक फ़ंक्शन प्रॉक्सी बनाना और कॉलिंग को कॉल करना "TypeError: Function.prototype.toString सामान्य नहीं है", मूल कारणों के स्रोत को वापस करने के लिए ToString को सेट करना "RangeError: अधिकतम कॉल स्टैक आकार पार हो गया", लेकिन एक बनाना ToString काम के लिए जाल प्राप्त करें।
बस स्ट्रिंग फ़ंक्शन को क्यों सेट नहीं करता है, लेकिन जाल प्राप्त करना क्यों करता है?
function wrap(source) {
return(new Proxy(source, {}))
}
wrap(function() { }).toString()
function wrap(source) {
let proxy = new Proxy(source, {})
proxy.toString = function() {
return(source.toString())
}
return(proxy)
}
wrap(function() { }).toString()
function wrap(source) {
return(new Proxy(source, {
get(target, key) {
if(key == "toString") {
return(function() {
return(source.toString())
})
} else {
return(Reflect.get(source, key))
} } })) }
wrap(function() { }).toString()
संबंधित: https: // esdiscuss। संगठन/विषय/कॉलिंग-टूस्ट्रिंग-ऑन-फ़ंक्शन-प्रॉक्सी-थ्रो-टाइपर-अपवाद – tybro0103
असंबद्ध: 'वापसी' एक कीवर्ड है, न कि एक फ़ंक्शन है, इसलिए यह 'वापसी x'' वापसी नहीं है (x) '। माता-पिता यहां कुछ भी नहीं करते हैं। – Albin