मैं नए फंक्शन सिंटेक्स को समझने की कोशिश कर रहा हूं। जब मैं चर 'मान' का उपयोग करके घोषित करता हूं तो यह 'संदर्भ त्रुटि: मान परिभाषित नहीं है' त्रुटि देता है, लेकिन अगर मैं var या बिना var का उपयोग करता हूं तो आउटपुट परीक्षण के रूप में मुद्रित होता है। मुझे लगता है कि 'मान' चर वैश्विक है क्योंकि इसे बाहर परिभाषित किया गया है। लेकिन यह var के साथ क्यों काम करता है लेकिन जाने नहीं देता है, हालांकि दोनों वैश्विक चर हैं। ??

let value = "test";
    function getFunc() {
        // value = "test";
    
        let func = new Function('console.log(value)');
    
        return func;
    }
    
    getFunc()();
0
Anonymous 29 अक्टूबर 2021, 08:36
देखें: var, और चलो। दोनों दस्तावेजों में एक साधारण उदाहरण होता है।
 – 
Luuk
29 अक्टूबर 2021, 08:44

1 उत्तर

सबसे बढ़िया उत्तर

शीर्ष स्तर पर, let, var के विपरीत, वैश्विक वस्तु पर कोई गुण नहीं बनाता है।

var foo = "Foo";  // globally scoped
let bar = "Bar"; // not allowed to be globally scoped

console.log(window.foo); // Foo
console.log(window.bar); // undefined

संदर्भ

इसलिए let का उपयोग केवल {} द्वारा दर्शाए गए एक संलग्न ब्लॉक के अंदर किया जा सकता है।

0
whatever.idc 29 अक्टूबर 2021, 08:42