Как создать backtick в backticks? - PullRequest
1 голос
/ 13 июня 2019

Я хочу написать backtick внутри backtick. (ES6)

Как создать backtick в backtick?

const apple = 'apple';
const grape = 'grape';
const money1 = 2000;
const money2 = 1000;


// before
console.log(`${apple} = ${grape === 'grape' ? '(' + money1 + ')' : '(' + money2 + ')'`;

// after  <-- I want
console.log(`${apple} = ${grape === 'grape' ? \`(${money1})\` : \`(${money2})\`}`;

Ответы [ 3 ]

3 голосов
/ 13 июня 2019

Снять обратную косую черту:

const apple = 'apple';
const grape = 'grape';
const money1 = 2000;
const money2 = 1000;

console.log(`${apple} = ${grape === 'grape' ? `(${money1})` : `(${money2})`}`);

Если вы спрашивали о печати буквального рюкзака в строке шаблона, просто используйте обратную косую черту.

console.log(`\``);
1 голос
/ 13 июня 2019

Я понимаю, что ваш пример является частично гипотетическим, но есть гораздо более простой подход к вашему примеру, который устраняет необходимость использования вложенных литералов шаблона:

const apple = 'apple';
const grape = 'grape';
const money1 = 2000;
const money2 = 1000;


console.log(`${apple} = (${grape === 'grape' ? money1 : money2})`);
1 голос
/ 13 июня 2019

В буквальном смысле ответить на ваш вопрос: «ставить обратный кавычки в обратные кавычки» звучит так же, как вставлять буквальный обратный кавычки в строку.Чтобы сделать это, избегайте его.

Избегайте его с обратной косой чертой.См https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#Description

`\``

console.log(`\``)

Но то, что вы на самом деле пытаетесь сделать, не так сложно.Синтаксис JavaScript позволяет встраивать обратные метки в $ {}, не экранируя их.

console.log(`Hello ${`world`}, ${`nesting ${`works too`}`}`);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...