ai didi

javascript - 字符串模板中的三元运算符

转载 作者:行者123 更新时间:2023-11-29 20:53:15 24 4
gpt4 key购买 nike

有没有一种紧凑的方法可以像这样构建带有可选参数的字符串?

let q = `CREATE "a"
${this.date ? ` SET date = '${this.date}'` : ''}
${this.description ? ` SET description = '${this.description}'` : ''}
RETURN n`;

没有 else 情况返回一个空字符串 ''?

编辑:目前的结果是:

CREATE "a"


RETURN n

这只是一个美学问题,我宁愿没有那些空行


使用 bool 运算符 && 不起作用(它返回 undefined 作为字符串):

${this.date && ` SET date = '${this.date}'`}

最佳答案

您可以使用条件&&值|| "",但这几乎等同于使用三元运算符。

另一个可用的选项是在此处尝试丢弃空值的标记模板:

    let date;
let description = "description";

function nonEmpty(parts) {
var res = parts[0];
for (var i=1; i<parts.length; i++) {
if (arguments[i]) // you might want to handle `0` different
res += arguments[i];
res += parts[i];
}
return res;
}

console.log(nonEmpty`Date :: ${date} and Description :: ${description}`);

关于javascript - 字符串模板中的三元运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50667230/

24 4 0
文章推荐: java - DBUnit:具有 MySQL YEAR 类型列的数据集
文章推荐: android - Amazon Cognito Sync 演示的 API key
文章推荐: mysql - MySQL中基于排名和权重的选择
文章推荐: java - 在自定义 BaseAdapter 中实现 onClick 监听器
行者123
个人简介

我是一名优秀的程序员,十分优秀!

滴滴打车优惠券免费领取
滴滴打车优惠券
全站热门文章
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com