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

Ia gagal dan penghurai kemudian mengadu tentang beberapa perkara (dalam bentuk token yang tidak dijangka TIDAK SAH), kerana JavaScript (tidak seperti bahasa pengaturcaraan lain seperti PHP) secara automatik memasukkan titik koma selepas 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.";

Untuk pilihan yang lebih pantas dan lebih kemas, tambahkan tanda condong terbalik pada akhir 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