用反引号写的指南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');
})
对我来说,这不那么模糊。每种方法的优点是什么?
答案 0 :(得分:4)
背蜱与Ember无关。它们是ES6的一部分,称为模板字符串。它们只是简化字符串插值。您可以在花括号中包含任何有效的js语句,然后对它们进行求值。它们还允许多行字符串。
我知道的一个主要问题是模板字符串会立即得到评估。所以不能通过将其赋值给变量来重用。变量只会得到评估结果。
答案 1 :(得分:4)
它们基本相同。实际上,目前,反引号语法或es6 template strings正在最终代码中被转换回第二个版本。
有些人可能认为第一种形式更符合逻辑,当使用更简单的变量名时,更具可读性。它还允许代码扫描i18n库,例如基于gettext的库,轻松找到它们。我怀疑他们可以做出任何有用的东西,直到浏览器广泛支持反引号语法。它来了。 Chrome,Firefox,Safari,Edge都支持它。
最后如果你愿意,可以使用它们,如果你不喜欢它们,请不要使用它们。没关系。
(specs中的正式定义)