मैं फेसबुक के फिक्स्ड डेटा-तालिका के स्रोत कोड पढ़ रहा था, और मैं thisजावास्क्रिप्ट: var {left, ... props} = this.props;
var {left, ...props} = this.props;
क्या है कि इसका मतलब है पाया? क्या यह एक नया अर्थपूर्ण है? मैं उलझन में हूँ ओओ
मैं फेसबुक के फिक्स्ड डेटा-तालिका के स्रोत कोड पढ़ रहा था, और मैं thisजावास्क्रिप्ट: var {left, ... props} = this.props;
var {left, ...props} = this.props;
क्या है कि इसका मतलब है पाया? क्या यह एक नया अर्थपूर्ण है? मैं उलझन में हूँ ओओ
यह असाइनमेंट proposed for ES7 (और जेएसएक्स उपकरण और बेबेल में बेसब्री से कार्यान्वित) का एक विशेष रूप है। यह दो चर बनाता है: left
, और props
।
left
का मूल्य this.props.left
है।
props
this.props
के सभी अन्य गुणों के साथ एक वस्तु है (left
को छोड़कर)।
यदि आप इसे destructuring यह इस तरह दिखना चाहते हैं बिना लिखा है:
var left = this.props.left;
var props = {};
Object.keys(this.props).forEach(function(key, index){
if (key !== 'left') {
props[key] = this.props[key];
}
}, this);
कि एक से अधिक कुछ वर्ण बंद मुंडा है :-)
क्या आप इस प्रकार के "आराम विनाशकारी" के लिए एक लिंक प्रदान कर सकते हैं? यह कम से कम मेरे लिए Traceur में काम नहीं करता है। –
https://people.mozilla.org/~jorendorff/es6-draft.html#sec-destructuring-assignment (संपादित करें: और 12.14.5.4) – FakeRainBrigand
यह संदर्भ यहां वाक्यविन्यास का वर्णन नहीं करता है। यह 'var [a, ... b] = [1, 2, 3] 'के रूप में, सरणी को शामिल करने के लिए एक वाक्यविन्यास का वर्णन करता है। मैंने यहां कभी भी सिंटैक्स नहीं देखा है, जो यह नहीं कहता है कि यह अस्तित्व में नहीं है ... –
यह ES6 destructuring काम है। – Pointy
संभावित डुप्लिकेट [Is var {रूट, रीडायरेक्ट, रूटहैंडलर, लिंक} = राउटर; जावास्क्रिप्ट में मान्य?] (http://stackoverflow.com/questions/27136394/is-var-route-redirect-routehandler-link-router-valid-in-javascript) –
@ Qantas94Heavy, यह काफी डुप्लिकेट नहीं है क्योंकि दूसरा सवाल बाकी विनाशकारी का उल्लेख नहीं करता है। – FakeRainBrigand