2015-11-19 15 views
34

मैं ECMAScript 6 के लिए, और एंबर जानने की कोशिश करते हुए नया हूँ के साथ स्थिरांक, मैं निम्नलिखित कोड शैली कभी कभी देखा है:जावास्क्रिप्ट (ES6) घुंघराले ब्रेसिज़

const { 
    abc, 
    def 
} = Object; 

मैं गूगल और कई खोज की है नई ES6 विनिर्देशों को समझाते हुए साइटें। मुझे पता है कि यह वर्तमान कार्यान्वयन नहीं है, क्योंकि जब मैं इनपुट करता हूं तो मेरा कंसोल एक त्रुटि देता है।

इस कोड का क्या अर्थ है?

अद्यतन

मैं Babel's transpiler में इस स्निपेट पेस्ट, और यह कि यह क्या लौट आए है:

"use strict"; 

var abc = Object.abc; 
var def = Object.def; 

मैं अभी भी क्या यह पूरा करने के प्रयास कर रहा है के रूप में उलझन में हूँ।

+3

यहां कुछ उदाहरण है, कुछ अच्छी ईएस 6 सामग्री के साथ खेलना चाहते समय बहुत अच्छी साइट है। http://www.es6fiddle.net/ih5zgb2r/ – ste2425

उत्तर

63

यह एक ES2015 destructuring assignment है।

यह इसे अधिक वर्बोज़ तरीके से फिर से लिखने में मदद कर सकता है।

const abc = Object.abc; 
const def = Object.def; 

यह वस्तुओं से गुणों को निकालने का एक सिंथेटिक रूप से अलग-अलग तरीका है, चर में।

// you can rewrite this 
const name = app.name; 
const version = app.version; 
const type = app.type; 

// as this 
const { name, version, type } = app; 

ब्राउज़र विक्रेताओं still implementing ES2015 विनिर्देश जो शायद यही वजह है कि यह आपके ब्राउज़र में काम नहीं किया है।

हालांकि, Babel नामक एक प्रोजेक्ट है जो आपको जावास्क्रिप्ट के भविष्य के विनिर्देशों को ईएस 5 में परिवर्तित करने की अनुमति देता है। आप their REPL में ES2015 कोड आज़मा सकते हैं।

+0

मुझे लगता है कि आपका लिंक गलत है, हम्म पाचन चक्र। – ste2425

+0

आप अपने उत्तर में एमडीएन के लिए एक लिंक जोड़ना चाहते हैं: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment –

+1

बहुत सारे टैब, पर्याप्त क्लिपबोर्ड नहीं। धन्यवाद –

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