用双引号包装一个JavaScript变量

时间:2018-07-04 06:06:31

标签: javascript string templates

我下面的代码在js模板文字中带有一个字符串。

`${currentType} ${objProp} = ${value};`

我想在打印时${value}用双引号引起来。我该如何实现?

5 个答案:

答案 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)