模板字符串中的 Javascript 条件

标签 javascript template-strings

有没有办法在模板字符串中进行条件处理?

例如:

let x, y;

x = ...
y = ...

let templateString = `${x} ${y}`;

如果 y 未定义,我不希望输出 x 之后模板字符串中的空格。我如何使用模板字符串实现这一点?

这是唯一的方法吗?

 let templateString = `${x}${y ? ' ' + y : ''}`;

最佳答案

关于

let x,y;

const templateString = [x,y].filter(a => a).join(' ');

它的作用是首先将您的属性放入数组 []。

然后它过滤未定义的项目。

最后,它通过使用带空格的 join 创建数组的字符串。

这样 xy 可以是未定义的。

关于模板字符串中的 Javascript 条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53342967/

相关文章:

javascript - 加载并替换从文件加载的模板字符串中的变量

javascript - 如何防止字符 '\'转义ES6模板字符串?

javascript - 标记的模板文字的 TemplateObject 数组是否被其领域弱引用?

javascript - IE7-js 与缩小的 CSS 文件一起破坏​​了 IE7 中的所有 CSS

javascript - 使用 jQuery attr() 方法选择特定元素

javascript - 如何将 JSON 中的对象数组转换为仅包含值的数组?

javascript - 如何在 ES6 中嵌套模板字符串?

javascript - 模板字符串作为对象属性名称

c# - 从代码隐藏向 JavaScript 函数传递参数

javascript - 在angularjs指令链接函数中更改元素类