में काम नहीं करता है मैं एज/15.15063 चला रहा हूं। 'Can I Use' says const should work.कॉन्स एज 15 डेवलपर टूल
रनिंग:
const x = 'woo'
तब:
console.log(x)
रिटर्न
'x' is undefined
स्क्रीनशॉट:
क्यों काम नहीं कर रहा है?
में काम नहीं करता है मैं एज/15.15063 चला रहा हूं। 'Can I Use' says const should work.कॉन्स एज 15 डेवलपर टूल
रनिंग:
const x = 'woo'
तब:
console.log(x)
रिटर्न
'x' is undefined
स्क्रीनशॉट:
क्यों काम नहीं कर रहा है?
मुझे संदेह है कि एज कंसोल like other implementations did के कवर के तहत with
कथन का उपयोग कर रहा है। यह var
और even function
declarations वैश्विक क्षेत्र में बाहर फहराया जा रहा है, लेकिन let
की व्याख्या करता है और const
ब्लॉक गुंजाइश में लॉक कर दिया जाएगा:
with (…) {
const x = 'woo'
}
// next input:
with (…) {
console.log(x) // obviously undeclared
}
, बहु मोड में उन्हें प्रवेश करने के लिए एक एकल मूल्यांकन में प्रयास करें - वहाँ वे काम करना चाहिए ।
लेकिन आप भी एक बग फाइल करना चाहेंगे, क्योंकि कंसोल वास्तव में महसूस करता है जैसे वैश्विक दायरे में चीजों का मूल्यांकन करना।
उस उत्तर पर आखिरी टिप्पणी जो आपने बहुत अधिक से जुड़ी है, यह सब कुछ कहती है: "कुछ हफ्ते पहले हमने ब्लॉक में क्रोम में हमारे कंसोल कार्यान्वयन को ब्लॉक के साथ कुछ प्रतीक जादू में ले जाया क्योंकि ब्लॉक ने कुछ ईएस 6 को अवरुद्ध कर दिया था विशेषताएं :) " –
@ जेरेस्मिथ हा, बिल्कुल सही! इसे पढ़ने के लिए परेशान नहीं था, मैं बस कुछ भी लिंक करना चाहता था जो कार्यान्वयन दृष्टिकोण दिखाता है। – Bergi
मुझे लगता है कि मैंने इसे समझ लिया है, लेकिन यह एक उत्तर के रूप में अनुमान है। हालांकि एक टिप्पणी के लिए बहुत लंबा है।
मैं लगता क्या हो रहा है कि const
और let
do not create निहित वैश्विक जब उसी तरह var
करता है में शीर्ष स्तर के दायरे में इस्तेमाल किया है। हालांकि const
और let
के साथ बनाए गए शीर्ष-स्तरीय चर वैश्विक हैं, लेकिन वे वैश्विक window
ऑब्जेक्ट के गुण नहीं हैं।
एमएस सांत्वना console में बनाए गए चर तक पहुँचने के लिए है कि निहित window
संपत्ति सृजन पर भरोसा है, तो const
और let
काम नहीं करेगा।
मैं क्रोम देव उपकरण की अंदरूनी कामकाज को लेकर अनिश्चित हूं, लेकिन यह सांत्वना में मार डाला कोड के लिए एक गुमनाम समारोह आवरण बनाने के लिए लगता है: गुमनाम पर 1 Uncaught त्रुटि :
throw new Error;
VM679: 1: 7
(function() { throw new Error; })();
VM759: एक पर 1 Uncaught त्रुटि nonymous: 1: 21 गुमनाम पर: 1: 33
मैं अनिश्चित अगर वहाँ अन्य सैंडबॉक्सिंग यहाँ पर जा रहा है, मैं जरूरी उस पर प्रलेखन का एक बहुत नहीं मिला हूं।
यदि आप इसे लपेटते हैं तो यह काम करता है '(function() {const x =' woo '; console.log (x);})(); '? –
क्या होगा यदि आप इसे कोड ब्लॉक में डाल दें? '{const x = 'woo'; console.log (x); } '? – evolutionxbox
@jared: लपेटते समय काम करता है – mikemaccana