2015-12-31 6 views
5

मार्गदर्शिका show a computed property बैकटिक्स के साथ लिखी गई मार्गदर्शिकाएं। मुझे यकीन नहीं है कि वे जरूरी हैं या नहीं।एम्बर गणना गुणों में बैकटिक का उपयोग

इस किया जा सका:

fullName: Ember.computed('firstName', 'lastName', function() { 
    return this.get('firstName') + ' ' + this.get('lastName'); 
}) 

:

fullName: Ember.computed('firstName', 'lastName', function() { 
    return `${this.get('firstName')} ${this.get('lastName')}`; 
}) 

इस रूप में लिखा जा?

मेरे लिए, यह कम अस्पष्ट है। प्रत्येक विधि के प्लस/विपक्ष क्या हैं?

उत्तर

4

पिछली टिकों में एम्बर के साथ कुछ लेना देना नहीं है। वे टेम्पलेट तार नामक ईएस 6 का हिस्सा हैं। वे स्ट्रिंग इंटरपोलेशन के लिए बस इसे आसान बनाते हैं। आप घुंघराले ब्रेसिज़ में कोई वैध जेएस कथन प्राप्त कर सकते हैं और उनका मूल्यांकन किया जाता है। वे बहु रेखा तारों को भी अनुमति देते हैं।

एक प्रमुख बिंदु जिसे मैं जानता हूं वह है कि टेम्पलेट तारों का तुरंत मूल्यांकन किया जाता है। इसलिए इसे एक चर को असाइन करके पुन: उपयोग नहीं किया जा सकता है। परिवर्तनीय केवल मूल्यांकन परिणाम प्राप्त होगा।

Here is more info about them in MDN.

+0

के लिए MDN लिंक धन्यवाद। मुझे पता है कि वे एम्बर से संबंधित नहीं हैं, लेकिन यह वह पहला स्थान है जहां मैंने उन्हें व्यापक रूप से उपयोग किया है। – dangonfast

+0

दरअसल, एम्बर टीम के कुछ मूल सदस्य ecmascript मानकों से जुड़े होते हैं, इसलिए एम्बर जेएस के भविष्य के लिए योजना बनाने की कोशिश करता है और जितनी ज्यादा हो सके आगामी सुविधाओं को गले लगाता है। ES6 मॉड्यूल, कस्टम तत्वों, ... – spectras

+0

हां एंबर मॉड्यूल आदि जैसे नए ES6 सुविधाओं के प्रारंभिक गोद लेने के लिए @gonvaled काफी धक्का मुझे लगता है कि इस लिंक टेम्पलेट तार और YDKJS किताब से किसी भी gotchas के बारे में अधिक जानने के लिए उपयोगी हो सकता है। https://github.com/getify/You-Dont-Know-JS/blob/master/es6%20%26%20beyond/ch2.md#template-literals – blessenm

4

वे मूल रूप से एक ही हैं। असल में, अभी के लिए, बैकटिक सिंटैक्स, या es6 template strings अंतिम कोड में दूसरे संस्करण में वापस पार किया जा रहा है।

कुछ तर्क दे सकते हैं कि पहला फॉर्म अधिक तार्किक है और, सरल परिवर्तनीय नामों का उपयोग करते समय, अधिक पठनीय। यह कोड-स्कैनिंग i18n libs, जैसे gettext- आधारित वाले को आसानी से ढूंढने की अनुमति देता है। मुझे संदेह है कि वे तब तक कुछ भी उपयोगी बना सकते हैं जब तक बैकटिक सिंटैक्स ब्राउज़र द्वारा व्यापक रूप से समर्थित न हो। वह आ रहा है। क्रोम, फ़ायरफ़ॉक्स, सफारी, एज इसका समर्थन करते हैं।

अंत में यदि आप चाहें तो उनका उपयोग करें, अगर आप उन्हें पसंद नहीं करते हैं तो नहीं। कोई फरक नहीं है।

(specs में औपचारिक परिभाषा)

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