2017-03-05 27 views
7

String.raw rất hữu ích. Ví dụ:`String.raw` khi ký tự cuối cùng là` `

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

Tuy nhiên, khi ký tự cuối cùng của chuỗi mẫu là \, nó trở thành lỗi cú pháp.

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

Uncaught SyntaxError: Unterminated template literal

Dự kiến, tôi sử dụng phương pháp này.

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

Tôi có thể viết chuỗi mẫu mà ký tự cuối cùng là sử dụng \String.raw?

+0

\ được sử dụng để thoát khỏi một nhân vật – mehulmpt

+0

Nếu bạn muốn có một giải pháp với một chút ít gõ bạn có thể sử dụng ' 'để path = String.raw'C: \ path \ to \ directory' + '\\' ''. (Tôi thấy dễ đọc hơn nữa, bởi vì một không gian ngay trước khi đóng cửa "không nhất thiết phải rõ ràng.) – nnnnnn

Trả lời

3

Dưới đây là một vài giải pháp có thể khác nhau. Yêu thích của tôi có thể là tạo thẻ mẫu tùy chỉnh dir để giải quyết sự cố cho bạn. Tôi nghĩ rằng nó làm cho cú pháp sạch hơn và ngữ nghĩa hơn.

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)

Các vấn đề liên quan