有一种紧凑的方法来构建一个带有可选参数的字符串吗?
let q = `CREATE "a"
${this.date ? ` SET date = '${this.date}'` : ''}
${this.description ? ` SET description = '${this.description}'` : ''}
RETURN n`;
没有else
案例返回空字符串''
?
修改:目前的结果是:
CREATE "a"
RETURN n
这只是一个美学问题,我宁愿没有那些空行
使用布尔运算符&&
不起作用(它将undefined
作为字符串返回):
${this.date && ` SET date = '${this.date}'`}
答案 0 :(得分:3)
您可以使用条件&&价值|| “”,但这几乎等同于使用三元运算符。
另一个可用选项是在此处尝试标记模板,以丢弃空值:
Map
答案 1 :(得分:-1)
你打开'''你已经不能在中间使用了它。
let q = `CREATE "a"
${this.date ? SET date = '${this.date}' : ''}
${this.description ? SET description = '${this.description}' : ''}
RETURN n`;
或使用:
let date = this.date ? "SET date = '${this.date}'" : '';
let description = this.description ? "SET description = ${this.description}" : '';
let q = `CREATE "a"
${date}
${description}
RETURN n`;