оборачивая переменную javascript двойными кавычками - PullRequest
0 голосов
/ 04 июля 2018

У меня следующий код со строкой внутри литерала шаблона js.

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

Я хочу обернуть ${value} двойными кавычками при печати. Как мне этого добиться?

Ответы [ 5 ]

0 голосов
/ 04 июля 2018

Просто обернуть ${value} в двойные кавычки, похоже, не проблема:

var currentType = 11;
var objProp = "test";
var value = 33;

var templateVar = `${currentType} ${objProp} = "${value}";`
console.log(templateVar);
0 голосов
/ 04 июля 2018

Вот фрагмент ....

let val = "1243"
let k = `"${val}"`
console.log(k)
0 голосов
/ 04 июля 2018
`${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";
0 голосов
/ 04 июля 2018

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)
0 голосов
/ 04 июля 2018

Поскольку вы используете строковые шаблоны ES6, вы можете использовать двойные кавычки (") или одинарные кавычки (') в шаблоне. Следовательно это должно работать:

`${currentType} ${objProp} = "${value};"`
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...