我下面的代码在js模板文字中带有一个字符串。
`${currentType} ${objProp} = ${value};`
我想在打印时${value}
用双引号引起来。我该如何实现?
答案 0 :(得分:3)
由于使用的是ES6字符串模板,因此可以在模板中使用双引号("
)或单引号('
)。因此,这应该起作用:
`${currentType} ${objProp} = "${value};"`
答案 1 :(得分:3)
let currentType = "hello";
let objProp = "world";
let value = "hi";
let a = `${currentType} ${objProp} = "${value}";`
console.log(a)
只需使用${value}
周围的双引号
更新:
只需尝试证明它可以支持以下双引号字符串
let value = '"hi"';
let a = `${value}`;
console.log(a)
let value2 = "\"hi\"";
let a2 = `${value2}`;
console.log(a2)
答案 2 :(得分:2)
`${currentType} ${objProp} = ${JSON.stringify(value)};`
使用JSON.stringify
将对所有JS基元执行正确的操作,引用字符串,并正确设置对象和数组的格式。
编辑,因为很多其他回答者似乎都没有抓住重点:
let currentType = 'string';
let objProp = 'actor';
let value = 'Dwayne "The Rock" Johnson';
let bad = `${currentType} ${objProp} = "${value}";`
console.log(bad);
// string actor = "Dwayne "The Rock" Johnson";
let good = `${currentType} ${objProp} = ${JSON.stringify(value)};`
console.log(good);
// string actor = "Dwayne \"The Rock\" Johnson";
答案 3 :(得分:2)
只需将${value}
用双引号引起来似乎不是问题:
var currentType = 11;
var objProp = "test";
var value = 33;
var templateVar = `${currentType} ${objProp} = "${value}";`
console.log(templateVar);
答案 4 :(得分:0)
这是一个摘要。...
let val = "1243"
let k = `"${val}"`
console.log(k)