Как избежать обратной кавычки в необработанной строке JavaScript? - PullRequest
0 голосов
/ 19 июня 2020

У меня есть необработанная строка (созданная с помощью метода String.raw и литерала шаблона), которая должна содержать несколько обратных косых черт и обратных кавычек. Поскольку обратные кавычки необходимо экранировать даже в необработанной строке, я использую обратные косые черты, чтобы их экранировать. Несмотря на то, что он экранирует обратную кавычку, вместе с ним также отображается обратный sla sh:

let rawString = String.raw`
  __    
 /  |   
 \`| |   
  | |   
 _| |_  
|_____| 


`;

console.log(rawString);
  • Как мне избежать обратной кавычки, чтобы перед ней не было лишнего обратного sla sh?

Некоторые пояснения

  • Строка требуется, должна быть необработанной строкой.
  • Обратные кавычки необходимы. Их нельзя заменить одинарными кавычками или чем-то подобным.

Ответы [ 2 ]

1 голос
/ 19 июня 2020

var v='`';
let rawString = String.raw`
      __    
     /  |   
     `+v+`| |
      | |   
     _| |_  
    |_____| 


`;

//From seeing from your idea, you can join it like below:

console.log(rawString);
rawString = String.raw`
      __    
     /  |   
     ${v}| |
      | |   
     _| |_  
    |_____| 


`;

console.log(rawString);
0 голосов
/ 19 июня 2020

Итак, при написании вопроса, я сам придумал, и, к моему величайшему удивлению, она работает!

Вместо использования обратного sla sh для экранирования используйте ${...} ( «заполнитель» для интерполяции строк ); вот так:

let rawString = String.raw`
  __    
 /  |   
 ${"`"}| |   
  | |   
 _| |_  
|_____| 


`;

console.log(rawString);
...