Rentetan berbilang baris dalam JavaScript

Semasa memprogram dengan JavaScript, seseorang sering tersandung pada ketidakmampuan untuk melaksanakan rentetan berbaris dengan memasukkannya dalam beberapa baris dalam kod. Walaupun tugas dalam bahasa lain seperti PHP atau Ruby tidak menjadi masalah, dengan JavaScript anda pada mulanya hanya dapat menyelesaikan dengan penyelesaian, penggunaannya ditentukan oleh selera peribadi atau sokongan penyemak imbas.


Percubaan yang jelas

var str = "Dies ist eine
mehrzeilige
Zeichenkette.";

gagal dan pengurai kemudian mengadu tentang beberapa perkara (dalam bentuk token ILLEGAL yang tidak dijangka), kerana JavaScript (berbeza dengan bahasa pengaturcaraan lain seperti PHP) secara automatik memasukkan titik koma setelah akhir setiap baris:

var str = "Dies ist eine;
mehrzeilige;
Zeichenkette.";

Penyelesaian pertama untuk masalah ini terdiri daripada gabungan rentetan mudah melalui operator \ n dan +:

var str = "Dies ist eine\n" +
"mehrzeilige\n" +
"Zeichenkette.";

Sekiranya anda memilih varian yang lebih perlahan dan sedikit lebih baik, tambahkan garis miring terbalik di hujung setiap baris:

var str = "Dies ist eine\n\
mehrzeilige\n\
Zeichenkette";

Sebagai alternatif, anda juga boleh menggunakan kaedah bergabung dan mendapatkannya:

var str = ["Dies ist eine",
"mehrzeilige",
"Zeichenkette"].join("\n");

Sekiranya, di sisi lain, mata anda menyala dengan ungkapan biasa, gunakan sintaks berikut (padan () saring nilai antara komen):

var str = (function () {/*Dies ist eine
mehrzeilige
Zeichenkette*/}).toString().match(/[^]*\/\*([^]*)\*\/\}$/)[1];

Penting: Sekiranya kodnya dikurangkan, penyelesaian ini dapat dilupakan (kerana komen juga dikeluarkan).

Varian terbaik berjaya dengan ECMA6 dan bantuan rentetan templat:

var str = `Dies ist eine
mehrzeilige
Zeichenkette`;
Belakang