在余烬计算属性中使用倒勾

Use of backtick in ember computed properties

本文关键字:余烬 计算 属性      更新时间:2023-09-26

指南显示了一个用回溯标记编写的计算属性。我不确定它们是否有必要。

这可能吗:

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');
})

对我来说,这就不那么晦涩了。每种方法的优点/缺点是什么?

后面的记号与Ember无关。它们是ES6的一部分,称为模板字符串。它们只是让字符串插值变得更容易。您可以在大括号中包含任何有效的js语句,然后对它们进行求值。它们还允许使用多行字符串。

我知道的一个要点是模板字符串会立即得到评估。因此,不能通过将其分配给变量来重用。变量将仅获得评估结果。

以下是MDN中有关它们的更多信息。

它们基本相同。事实上,目前,backtick语法或es6模板字符串正在最终代码中被转换回第二个版本。

有些人可能会说,第一种形式更符合逻辑,而且当使用更简单的变量名时,可读性更强。它还允许代码扫描i18n库,例如基于gettext的库,以便轻松找到它们。不过,在浏览器广泛支持backtick语法之前,我怀疑他们是否能利用这一点。它来了。Chrome,Firefox,Safari,Edge支持它。

最后,如果你喜欢就用,如果你不喜欢就不要用。没关系。

(规范中的正式定义)