क्या let-परिभाषित चर को अपरिभाषित करना संभव है ताकि मैं इसे फिर से परिभाषित कर सकूं? var के साथ, मैं एक ही वेरिएबल को बार-बार फिर से परिभाषित कर सकता हूं। let के साथ, चर को परिभाषित करने का दूसरा प्रयास एक त्रुटि के साथ मिलता है।

(आपको आश्चर्य हो सकता है कि मैं ऐसा क्यों करना चाहता हूं, और इसका कारण यह है कि मैं अक्सर अपने ब्राउज़र कंसोल से छोटी एक-पंक्ति और बहु-पंक्ति स्क्रिप्ट चलाता हूं और फिर से चलाता हूं, कॉपी और पेस्ट करता हूं कहीं और या बुकमार्कलेट के रूप में। यदि वे छोटे हैं स्क्रिप्ट let का उपयोग करके एक चर को परिभाषित करती है, फिर स्क्रिप्ट का पुन: चलाना विफल हो जाता है। मैं इन मामलों में var का उपयोग करना जारी रख सकता हूं, लेकिन मैं नए आदेश को अपनाने की कोशिश कर रहा हूं। और चाहे कुछ भी हो क्या आपको लगता है कि मेरा उपयोग मामला मान्य है, सवाल खड़ा है।)

मैंने इसे window ऑब्जेक्ट और कुछ अन्य हैक्स से delete करने की कोशिश की है, लेकिन कोई फायदा नहीं हुआ।

5
Marc 3 अप्रैल 2018, 17:31

2 जवाब

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

स्क्रिप्ट के पहले एक { और उसके बाद एक } टाइप करें ताकि आप स्क्रिप्ट को एक नए ब्लॉक स्कोप के अंदर चला सकें।

7
Paul 3 अप्रैल 2018, 14:33

मान लें कि कोड में कहीं, एक चर को let a = 2 के रूप में परिभाषित किया गया है और आप इसे फिर से परिभाषित करना चाहते हैं, बस a = 3 अगर मूल चर a का उपयोग करें दायरा। a को window से हटाने से काम नहीं चलेगा क्योंकि let का उपयोग करके a की परिभाषाएं इसे window ऑब्जेक्ट से अटैच नहीं करेंगी।

0
Huy Nguyen 3 अप्रैल 2018, 14:33