2015-05-17 17 views
8

मैं कोड है:ES6 मॉड्यूल गुंजाइश

// lib.js 
var a = "a"; 
export var b = "b"; 

// main.js 
console.log(a); // "a" variable is not available in a global scope 
import {b} from "lib"; 
console.log(a); // is "a" variable available in a global scope or only in a module scope? 

मैं मॉड्यूल आयात करने या केवल एक मॉड्यूल दायरे में यह उपलब्ध है के बाद एक वैश्विक दायरे में "एक" चर का उपयोग कर सकते हैं? ES6 मॉड्यूल इस चाल की तरह एक समान काम कर रहे सिद्धांत होगा:

// module  
exports.module1 = (function(){ var a = "a"; })(); // "a" variable is not available in a global scope 

उत्तर

12

मैं मॉड्यूल आयात करने के बाद एक वैश्विक दायरे में उपयोग कर सकते हैं "एक" चर या यह उपलब्ध है केवल एक मॉड्यूल दायरे में?

यह उस में घोषित किया गया था मॉड्यूल के अंदर ही उपलब्ध है

विल ES6 मॉड्यूल इस चाल की तरह एक समान काम कर रहे सिद्धांत है:। [...]

मूल रूप से हाँ।

  • वैश्विक गुंजाइश
  • मॉड्यूल गुंजाइश
  • समारोह गुंजाइश
  • ब्लॉक गुंजाइश
:


ES6 "टॉप" के लिए "नीचे" से स्कोप के इन प्रकार, आदेश है

+0

आपको बहुत बहुत धन्यवाद। –

0

कहता है कि आप किसी अन्य मॉड्यूल में कुछ निर्यात कर रहे हैं। उदाहरण के लिए आप var b = 'b' निर्यात कर रहे हैं, लेकिन आप var a = 'a' निर्यात नहीं कर रहे हैं। इसका मतलब है कि आप केवल var a = 'a'lib.js में उपयोग करने में सक्षम हैं, यह उस मॉड्यूल के लिए स्थानीय है जिस पर इसे घोषित किया गया था और केवल उस मॉड्यूल में उपयोग किया जा सकता है। var alib.js मॉड्यूल पर स्कॉप्ड किया गया है।

संबंधित मुद्दे