if(true) {
let m = "yo";
console.log(m);
}
console.log(m)
आउटपुट:जावास्क्रिप्ट निष्पादन आदेश: कोड के बाद यह सशर्त निष्पादन क्यों करता है?
ReferenceError: m is not defined
yo
तो लाइन 4 पर कोड लाइन पर कोड 8.
let
की मेरी उपयोग इस से कोई लेना देना है के बाद क्रियान्वित किया जा रहा है?
EDIT: टिप्पणियां पढ़ने के बाद मुझे एहसास हुआ कि यह मेरे रनटाइम के कारण हो सकता है। यहाँ हर रात को Firefox में मैं इसे कैसे देखते हैं:
संपादित 2: यदि यह वास्तव में बस अपना क्रम है, तो कुछ इस तरह की वजह से उत्पादन कोड के लिए निहितार्थ हैं? ब्राउज़रों में असंगत व्यवहार? मैं इसके खिलाफ कैसे रक्षा करूं?
आप इसे क्रोम में चला रहे हैं? – Ben
[मैं इसे पुन: पेश नहीं कर सकता।] (Http://jsfiddle.net/nxzt5npp/) - और मैं इसे एफएफ देव संस्करण में देख रहा हूं। – Andy
मुझे फ़ायरफ़ॉक्स नाइटली, कंसोल में यह व्यवहार मिलता है। –