[javascript] ECMAScript6 तीर फ़ंक्शन जो ऑब्जेक्ट देता है


Answers

आप सोच सकते हैं, सिंटैक्स वैध क्यों है (लेकिन अपेक्षित काम नहीं कर रहा है):

var func = p => { foo: "bar" }

यह जावास्क्रिप्ट के लेबल वाक्यविन्यास की वजह से है:

इसलिए यदि आप उपरोक्त कोड को ES5 पर ट्रांसफ़ाइल करते हैं, तो यह इस तरह दिखना चाहिए:

var func = function (p) {
  foo:
  "bar"; //obviously no return here!
}
Question

किसी तीर फ़ंक्शन से ऑब्जेक्ट लौटने पर, ऐसा लगता है कि व्याकरण में अस्पष्टता के कारण {} के अतिरिक्त सेट का उपयोग करना और वापसी विवरण आवश्यक है:

p => { return { foo: 'bar' } }

यदि तीर फ़ंक्शन कुछ और देता है, तो {} और वापसी अनावश्यक होती है, उदाहरण के लिए:

p => 'foo'

क्या ज़ाहिर तौर पर कुछ ऐसा है, जिसका मुझे स्मरण नहीं है?




Related