Khi lập trình với JavaScript, người ta thường gặp phải tình trạng không thể triển khai các chuỗi nhiều dòng bằng cách nhập chúng thành nhiều dòng trong mã. Mặc dù tác vụ trong các ngôn ngữ khác như PHP hoặc Ruby không phải là vấn đề, nhưng với JavaScript, ban đầu bạn chỉ có thể thực hiện các giải pháp thay thế, việc sử dụng chúng do sở thích cá nhân hoặc trình duyệt hỗ trợ quyết định.
Cố gắng rõ ràng
var str = "Dies ist eine
mehrzeilige
Zeichenkette.";
Quá trình thất bại và trình phân tích cú pháp sau đó sẽ báo lỗi về một số thứ (dưới dạng "Unexpected token ILLEGAL"), bởi vì JavaScript (không giống như các ngôn ngữ lập trình khác như PHP) tự động chèn dấu chấm phẩy sau khi kết thúc mỗi dòng.:
var str = "Dies ist eine;
mehrzeilige;
Zeichenkette.";
Giải pháp đầu tiên cho vấn đề này bao gồm nối chuỗi đơn giản thông qua toán tử \ n và +:
var str = "Dies ist eine\n" +
"mehrzeilige\n" +
"Zeichenkette.";
Để có cách nhanh hơn và gọn gàng hơn, hãy thêm dấu gạch chéo ngược vào cuối mỗi dòng.:
var str = "Dies ist eine\n\
mehrzeilige\n\
Zeichenkette";
Ngoài ra, bạn có thể sử dụng phương thức tham gia và lấy nó:
var str = ["Dies ist eine",
"mehrzeilige",
"Zeichenkette"].join("\n");
Mặt khác, nếu mắt bạn sáng lên với các cụm từ thông dụng, hãy sử dụng cú pháp sau (match () lọc các giá trị giữa các nhận xét):
var str = (function () {/*Dies ist eine
mehrzeilige
Zeichenkette*/}).toString().match(/[^]*\/\*([^]*)\*\/\}$/)[1];
Quan trọng: Nếu mã được rút gọn, giải pháp này có thể bị lãng quên (vì các nhận xét cũng bị xóa).
Biến thể đẹp nhất thành công với ECMA6 và sự trợ giúp của chuỗi mẫu:
var str = `Dies ist eine
mehrzeilige
Zeichenkette`;