Chuỗi nhiều dòng trong JavaScript

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.";

không thành công và trình phân tích cú pháp phàn nàn về một số điều (ở dạng mã thông báo không mong đợi ILLEGAL) vì JavaScript (trái ngược với các ngôn ngữ lập trình khác như PHP) tự động chèn dấu chấm phẩy vào cuối 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.";

Nếu bạn thích một biến thể ít chậm hơn và đẹp hơn một chút, hãy thêm dấu gạch chéo ngược ở 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`;
Trở lại