2017-04-04 15 views
6

जावास्क्रिप्ट सीखने की प्रक्रिया में मैंने सीखा कि Let और const को वैश्विक स्कोप और होस्टिंग के संबंध में Var की समस्याओं को ठीक करने के लिए पेश किया गया था और फिर से घोषित होने पर त्रुटि नहीं दे रही थी।क्या "var" को त्यागने का कोई कारण नहीं है?

अब मैं var का उपयोग किए बिना कोड को पूरी तरह से लिख सकता हूं? या अब मुझे उनके बारे में पता होना चाहिए और जब तक वे व्यापक रूप से "स्वीकार्य" नहीं हो जाते, तब तक प्रतीक्षा करें?

दूसरे शब्दों में, मुझे समय के लिए संगतता के मुद्दों के बारे में चिंतित होना चाहिए यदि मैंने केवल let और const का उपयोग किया?

+2

'var' के पास अभी भी इसका उद्देश्य है: http://stackoverflow.com/questions/762011/whats-the-difference-between-using-let-and-var-to-declare-a-variable। –

+1

आपको [let] (http://caniuse.com/#search=let) और [const] (http://caniuse.com/#search=const) के साथ संगतता समस्याओं के बारे में चिंतित होना चाहिए क्योंकि दोनों प्रतीत नहीं होते हैं आईई 10 और नीचे और कई अन्य ब्राउज़रों में समर्थित होना है। – George

+3

@ जॉर्ज ट्रांसलेटर मौजूद हैं। संगतता लगभग हमेशा एक लाल हेरिंग है। –

उत्तर

3

सीधे प्रश्न का उत्तर देने के लिए - नहीं, आप संगतता के मुद्दों के कारण नहीं कर सकते, क्योंकि @ सूरज ने हमें याद दिलाया।

कहा करने के बाद कि, आधुनिक जे एस विकास में आप तेजी से उपयोग करने के लिए varlet के रूप में और const स्पष्ट लाभ, var के कुछ विशिष्ट उपयोगों से है अलग संभावना नहीं है और उपयोग करेगा या तो BabelJS, टाइपप्रति या यहाँ तक कि अब पिछड़ा संगतता के लिए कोड को पार करने के लिए वेबपैक 2 क्योंकि उत्पादन कोड वेनिला जेएस में भेज दिया जाएगा। वेबस्टॉर्म की तरह आधुनिक आईडीई, ईएस 6 मोड में डिफ़ॉल्ट रूप से let में बदलने के लिए आपके var को भी डिलीट करेंगे।

सवाल से परखने के बाद, आप जे एस का अध्ययन करने की प्रक्रिया में अब भी कर रहे हैं और आप पहले से ही ES6 के फायदे का उपयोग करने के सही सवाल const पूछ रहे हैं, तो मैं आज let उपयोग करने के लिए सिफारिश करेंगे और, लेकिन उस जटिलता जोड़ना होगा ट्रांसपेलरों से निपटने का। लेकिन अगर आप इसके साथ ठीक हैं - यह रास्ता तय करने का तरीका है।

+0

पारदर्शी विचार कोशिश करने के लिए दिलचस्प लग रहा है! –

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