2017-03-05 15 views
7

String.raw çok kullanışlıdır. Örneğin: şablon dizesinin son karakteri \ olduğunda`String.raw` son karakteri` `

let path = String.raw`C:\path\to\file.html` 

Ancak, bir sözdizimi hatası olur.

let path = String.raw`C:\path\to\directory\` 

Uncaught SyntaxError: Unterminated template literal

Geçici olarak, bu yöntemi kullanmak.

let path = String.raw`C:\path\to\directory\ `.trimRight() 

Geçen karakter String.raw kullanılarak \ olan şablon dize yazabilir miyim?

+0

\

let path // Uglier workarounds path = String.raw 'C:\path\to\directory${'\\'}' path = String.raw 'C:\path\to\directory'+'\\' path = 'C:\\path\\to\\directory\\' // Cleanest solution const dir = ({raw}) => raw + '\\' path = dir 'C:\path\to\directory' console.log(path)
bir karakteri – mehulmpt

+0

kaçmak için kullanılır Yolun = String.raw'C let '' kullanabilirsiniz yazarak biraz daha az: \ yol \ etmek \ directory' + '\\' ''. (Ben de okumayı daha kolay buluyorum, çünkü kapanıştan hemen önce bir alan mutlaka belli değil.) – nnnnnn

cevap

3

Birkaç farklı olası geçici çözüm aşağıda verilmiştir. Benim favorim muhtemelen sizin için sorunu çözmek için özel bir şablon etiketi dir yaratıyor. Bence sözdizimini daha temiz ve daha semantik yapar. Eğer bir çözüm istiyorsanız