ECMAScript 6 सुविधाएँ Node.js 0.12 में उपलब्ध हैं


162

Node.js (0.12) की एक नई स्थिर रिलीज़ हाल ही में उन्नत Google के v8 जावास्क्रिप्ट इंजन, v3.28.73 के साथ उतरी है

ECMAScript 6 की विशेषताएं वर्तमान में --harmonyध्वज का उपयोग किए बिना, Node.js में क्या मौजूद हैं ?

मैंने ES 6 सुविधाओं को सूचीबद्ध करने के लिए दावा करने वाली कई साइटों की जाँच की है, लेकिन उनमें से सभी पुराने हैं - सबसे प्रमुखता से, यह तालिका ( अपडेट: अब वर्तमान Node.js 0.12 के रूप में स्थिति के साथ अद्यतन की गई है ), क्योंकि कई विशेषताएं इस प्रकार सूचीबद्ध हैं --harmonyध्वज की आवश्यकता होने पर मैंने पाया कि उनमें से कुछ को डिफ़ॉल्ट रूप से सक्षम किया जा रहा है (मैप्स, सेट्स, सिंबल, कुछ का नाम देने के लिए)। अपडेट : नोड विशिष्ट टेबल तब से उपलब्ध कराए गए हैं

इसके अलावा, इस जानकारी को विशुद्ध रूप से v8 इंजन के लिए गूगल करने की कोशिश भी अप-टू-डेट जानकारी देती है - वर्तमान v8 रिलीज 4.2 है। * , जो कि Node.js का उपयोग करता है उससे काफी आगे है।

मेरी आशा है कि यह प्रश्न (और इसके उत्तर) इस बात पर एक व्यापक सारांश बन जाएगा कि ES 6 सुविधाएँ अब Node.js डेवलपर्स के लिए क्या उपलब्ध हैं।

ES 6 सुविधाएँ Node.js 0.12 में सक्षम हैं जिन्हें मैं वर्तमान में जानता हूँ:

  • मैप्स, सेट्स / वीकमैप्स, वीकसेट्स
  • प्रतीक
  • Object.observe
  • वादे
  • संख्या
    • .isInteger
    • .isSafeInteger
    • .isNaN
    • .EPSILON
    • .MIN_SAFE_INTEGER
    • .MAX_SAFE_INTEGER
  • गणित
    • .clz32
    • .imul
    • ।संकेत
    • .log10
    • .log2
    • .log1p
    • .expm1
    • .cosh
    • .sinh
    • .tanh
    • .acosh
    • .asinh
    • .atanh
    • .trunc
    • .fround
    • .cbrt
    • .hypot

9
"मेरी आशा है कि यह प्रश्न (और इसके उत्तर) इस बात पर एक व्यापक सारांश बन जाएगा कि ES 6 सुविधाएँ अब Node .jpg डेवलपर्स के लिए क्या उपलब्ध हैं।" - संभावना है कि यह बस एक अव्यवस्थित गड़बड़ हो जाएगा ... कि अन्य सभी संसाधनों की तरह ही बाहर की तारीख है !! जब तक आप 1) स्व उत्तर और 2) अन्य उत्तरों को आप में घुमाने के लिए समय नहीं लेते हैं। यदि आप उस काम को करने के लिए तैयार हैं, तो इसे ब्लॉग में करना अधिक उपयुक्त हो सकता है।
स्टीफन सी

2
या सिर्फ io.js पर स्विच करें (जो कि V8 संस्करण तक अधिक दूर तक जहाज हैं) और io.js पृष्ठ पर ES6 पर नज़र रखें ।
फेब्रीसियो मैटे

2
क्यूरेटेड ES6 संगतता तालिका: kangax.github.io/compat-table/es6
फेब्रीसियो मैट

2
@JonathanLonowski दिलचस्प है, यह अजीब है कि मैं नोड 0.12 के बारे में एक मुद्दा / पीआर नहीं पा सकता हूं। संपादित करें: एक मुद्दा दायर किया ।
फेब्रीको मट्टे

1
@RobertRossmann - कोई भी एक ब्लॉग हो सकता है। मैं आपके लक्ष्य पर संदेह नहीं कर रहा हूँ। यह सिर्फ इतना है कि मुझे नहीं लगता कि यह काम करेगा ... जब तक कि कोई (यानी आप <<) इसे काम करने के लिए >> प्रयास << में नहीं रखता है।
स्टीफन C

जवाबों:


250

--harmonyध्वज के बिना विशेषताएं :

मुझे लगता है कि यह सब कुछ है जो हमारे पास है --harmony

--harmonyध्वज के साथ विशेषताएं :

मेरी राय में बस इतना ही। शायद अगर मैं कुछ भूल गया - मैं इसे बाद में सूची में जोड़ दूंगा।


8
यह ठीक उसी तरह का उत्तर है जिसकी मैं उम्मीद कर रहा था - स्वच्छ, और डॉक्स / उदाहरणों के लिंक के साथ! --harmonyझंडे के नीचे सुविधाओं को सूचीबद्ध करने के लिए अतिरिक्त बिंदु । :)
रॉबर्ट रोसमैन

2
स्ट्रिंग टेम्पलेट्स के साथ या बिना बाहर हैं --harmony? वापस टिक ${varname}स्ट्रिंग वाक्यविन्यास के रूप में ?
सुकिमा

5
@Sukima Node v0.12 टेम्पलेट स्ट्रिंग का समर्थन नहीं करता है , न ही --harmonyध्वज के साथ , न ही इसके बिना। लेकिन iojs बिना किसी झंडे की जरूरत के उनका समर्थन करता है।
एलेक्सपॉड्स

1
क्या नोडज ने यह कहीं भी प्रलेखित किया है? यह बहुत उपयोगी है।
जस्टिन हमादे

1
@JonRed हो सकता है कि आपका रन किसी अन्य कारण से विफल रहा हो, न कि किसी निरंतरता के कारण। मैंने अभी इसकी कोशिश की है और मेरा रन काफी अच्छा है।
एलेक्सपॉड्स

4

ES6 चरणों में नोड के लिए नीचे ट्रिकल सुविधाएँ। नोड Google के V8 को जावास्क्रिप्ट इंजन के रूप में उपयोग करता है। नोड में समर्थित एक सुविधा का मतलब है कि इसे पहले V8 में लागू किया जाना है और फिर नोड टीम को Node.s. में इसे शामिल करना है।

Google की टीम हर छह हफ्ते में V8 का एक नया संस्करण जारी करती है, और फिर इसे उपयोग में लेने के लिए नोड टीम पर निर्भर है।

भाषा सुविधाओं की मैन्युअल रूप से क्यूरेट की गई सूचियाँ अच्छी हैं लेकिन जल्दी से पुरानी हो सकती हैं। नोड 0.12 फ्लक्स में अब और नहीं है, लेकिन आमतौर पर मैन्युअल रूप से क्यूरेट की गई सूची को अप्रचलित कर दिया जाता है जैसे ही नोड का नया संस्करण रोल आउट हो जाता है।

एक स्थिर सूची पर भरोसा किए बिना, नोड संस्करण का समर्थन करने वाली विशेषताओं की जांच करने के लिए यहां दो वैकल्पिक तरीके दिए गए हैं। आगे पढ़ने और इनका उपयोग करने के अधिक विस्तृत उदाहरणों के लिए, आप "Node.js ES 6 भाषा सुविधा का समर्थन करता है, तो कैसे जांच करें"

# 1 आसान - संगतता तालिका

एक गतिशील रूप से उत्पन्न सूची जो भाषा परीक्षण की उपस्थिति की पुष्टि करने के लिए छोटे परीक्षणों पर निर्भर करती है, बेहतर रहती है। ऐसी ही एक लोकप्रिय सूची है kangax.github.io/compat-table/es6/। हम केवल नोड विशेषताओं में रुचि रखते हैं, इसलिए आप उपयोग कर सकते हैं

http://node.green

जो कंगैक्स साइट के समान डेटा का लाभ उठाता है।

# 2 हार्ड - बैकट्रैक V8 संस्करण

नोड V8 इंजन का उपयोग करता है, इसलिए यह निर्धारित करना कि N8 में V8 का कौन सा संस्करण शामिल है, हमें बताता है कि ईएस 6 भाषा की कौन-सी सुविधाएँ समर्थित हैं। आप पता लगा सकते हैं कि V8 के किस संस्करण को नोड में बंडल किया गया था node -p process.versions.v8

$ node -p process.versions.v8
4.6.85.31

फिर Google के V8 प्रोजेक्ट संसाधनों का उपयोग करके आप पा सकते हैं कि प्रत्येक संस्करण में कौन सी सुविधाएँ लागू हैं। V8 प्रोजेक्ट एक इश्यू ट्रैकर रखता है जहां आप सद्भाव लेबल के साथ चिह्नित ES6 + से परे की सुविधाओं को पा सकते हैं ।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.