2014-10-03 4 views
10

मैं नए सिंटैक्स के साथ पकड़ने के लिए शुरू करने के लिए ऊपर और आने वाले ईसीएमएस्क्रिप्ट 6 (ईएस 6) का उपयोग करके कोड लिखना शुरू करना चाहता हूं।अब मैं ECMAScript 6 कोड कैसे लिख और परीक्षण कर सकता हूं?

क्या कोई ऐसा वेब संसाधन या ब्राउज़र प्लगइन है जिसका उपयोग मैं ईएस 6 के संबंध में वर्तमान में जो कुछ करता हूं उस पर खेलने (लिखने और परीक्षण कोड) के लिए उपयोग कर सकता हूं?

मुझे विश्वास था कि Google क्रोम कैनरी का उपयोग करने में मदद मिल सकती है। इसलिए मैं कैनरी डाउनलोड किया है, मैं कैनरी में सुविधाओं के एक जोड़े सक्षम:

Enable Experimental JavaScript (Mac, Windows, Linux, Chrome OS, Android)

Enable web pages to use experimental JavaScript features.
#enable-javascript-harmony Enable

और पाश

for (let i = 0; i < 10; i++) { 
    console.log(i); 
} 

के लिए एक में let ब्लॉक गुंजाइश परीक्षण के बाद मैं एक सिंटैक्स त्रुटि है:

SyntaxError: Unexpected identifier

+1

वहाँ Traceur है, लेकिन यह नरक के रूप में गाड़ी है। – nullpotent

+0

मैंने सुना है कि आपको क्रोम कैनरी – Bergi

+1

@iccthedral में काम करने के लिए ES6 के लिए सख्त मोड का उपयोग करने की आवश्यकता है? मैं अभी बहुत सफलता के साथ Traceur का उपयोग कर रहा हूँ। मैं इसे इस तरह वर्गीकृत नहीं करूंगा। ES6 मानक को अभी तक पुष्टि नहीं की गई है, इसलिए ऐसी कुछ चीजें हैं जो अंतिम नहीं हो सकती हैं, और ट्रेसीर सभी ES6 चीजों का समर्थन नहीं करता है, लेकिन इसके समर्थन के लिए, अब तक मेरा वास्तव में अच्छा अनुभव रहा है। आप किस तरह की समस्याओं में भाग लेते हैं? –

उत्तर

4

क्रोम 37 (वर्तमान क्रोम) प्रयोगात्मक JavaScript ध्वज के साथ में निम्नलिखित काम करता है सक्षम:

(function() { 
    "use strict"; 
    for (let i = 0; i < 10; i++) { 
     console.log(i); 
    } 
})() 

सख्त मोड के बाहर, आपको SyntaxError: Illegal let declaration outside extended mode या SyntaxError: Unexpected identifier देखना चाहिए यदि आप सख्त मोड में नहीं हैं, या संभवतः SyntaxError: Unexpected strict mode reserved word यदि प्रायोगिक जावास्क्रिप्ट ध्वज सक्षम नहीं है।

आप अपने कोड को Babel या Traceur and the --block-binding flag enabled के साथ संकलित भी कर सकते हैं।

अधिक के लिए kangax's ES6 compatibility table देखें।

+0

संस्करण 40.0.2179.0 कैनरी (64-बिट) का उपयोग करके मुझे "सिंटेक्स त्रुटि: अप्रत्याशित पहचानकर्ता" मिल रहा था, हालांकि "सख्त उपयोग" सहित लूप भाग गया।मैंने सोचा कि "सख्त उपयोग" ES5 के लिए था। धन्यवाद – Aaron

+0

मैं त्रुटि संदेश के बारे में गलत था-शायद यह वास्तव में एक पुराना है जो [स्क्रैप किया गया था] (http://stackoverflow.com/questions/17253509/what-is-extended-mode) और आप नया देख रहे हैं एक। मैंने इसे प्रतिबिंबित करने के लिए उत्तर अपडेट किया है। – lyschoening

1

Babel में एक पारदर्शी और निष्पादित कोड का परीक्षण करने के लिए एक उपकरण है। परीक्षण और वेबपैस में बस इसका उपयोग करें, यह बहुत संभव होगा कि आप इसे उत्पादन कोड में पारदर्शी करने के लिए उपयोग करेंगे !!

http://babeljs.io/repl

Babel tranpiler

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

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