2015-12-31 9 views
5

Przewodniki show a computed property napisane z cofnięciami. Nie jestem pewien, czy są one konieczne.Wykorzystanie numeru w właściwościach obliczanych przez ember

może to:

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

być zapisane jako to:

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

?

Dla mnie to mniej niejasne. Jakie są plusy/minusy każdej metody?

Odpowiedz

4

Tylne kleszcze nie mają nic wspólnego z Ember. Są częścią ES6 nazywanymi ciągami szablonów. Po prostu ułatwiają interpolację napisów. Możesz mieć dowolną ważną instrukcję js w nawiasach klamrowych i zostaną one ocenione. Pozwalają one również na ciągi z wieloma liniami.

Jednym z głównych punktów, o którym wiem, jest to, że ciągi szablonów są natychmiast oceniane. Tak więc nie można go użyć ponownie, przypisując go do zmiennej. Zmienna otrzyma tylko oceniany wynik.

Here is more info about them in MDN.

+0

Dzięki za MDN Link. Wiem, że nie są spokrewnieni z Emberem, ale to pierwsze miejsce, w którym widziałem je szeroko używane. – dangonfast

+0

Rzeczywiście, niektórzy członkowie zespołu Ember są zaangażowani w standardy ecmascript, więc Ember stara się planować przyszłość JS i jak najlepiej wykorzystać nadchodzące funkcje. Moduły es6, elementy niestandardowe, ... – spectras

+0

@gonvaled Ya ember prawie popycha do wczesnego zastosowania nowszych funkcji es6, takich jak moduły itp. Myślę, że ten link może być przydatny, aby dowiedzieć się więcej o ciągach szablonów i wszelkich gotch z książki YDKJS. https://github.com/getify/You-Dont-Know-JS/blob/master/es6%20%26%20beyond/ch2.md#template-literals – blessenm

4

Są w zasadzie takie same. W rzeczywistości na razie skrócona składnia lub es6 template strings jest przenoszona z powrotem do drugiej wersji w ostatecznym kodzie.

Niektórzy mogą argumentować, że pierwsza forma jest bardziej logiczna, a przy użyciu prostszych nazw zmiennych, bardziej czytelna. Pozwala także na łatwe i łatwe wyszukiwanie bibliotek i18n z bibliotekami i18n, takich jak biblioteki gettext. Wątpię, by mogli zrobić z tego coś użytecznego, dopóki składnia zwrotna nie jest szeroko obsługiwana przez przeglądarki. Nadchodzi. Obsługa przeglądarki Chrome, Firefox, Safari i Edge.

W końcu użyj ich, jeśli chcesz, nie, jeśli ich nie lubisz. Nie ma znaczenia.

(formalna definicja w specs)