Izintambo zemigqa eminingi kuJavaScript

Lapho uhlela ngeJavaScript umuntu uvame ukukhubeka ngokungakwazi ukubona izintambo zemigqa eminingi ngokuzifaka kolayini abambalwa kukhodi. Ngenkathi umsebenzi kwezinye izilimi ezifana ne-PHP noma i-Ruby kungeyona inkinga, ngeJavaScript ungaqala uzungeze ama-workaround, ukusetshenziswa kwawo okunqunywa ukunambitheka komuntu siqu noma ukwesekwa kwesiphequluli.


Umzamo osobala

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

Iyahluleka bese i-parser ikhalaza ngezinto eziningana (ngendlela ye-Unexpected token ILLEGAL), ngoba i-JavaScript (ngokungafani nezinye izilimi zokuhlela ezifana ne-PHP) ifaka ngokuzenzakalelayo i-semicolon ngemuva kokuphela komugqa ngamunye.:

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

Isixazululo sokuqala senkinga siqukethe ukuhlanganiswa kwentambo okulula ngokusebenzisa opharetha \ n no +:

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

Ukuze uthole inketho esheshayo necocekile, engeza i-backslash ekugcineni komugqa ngamunye.:

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

Ngenye indlela, futhi ungasebenzisa indlela yokujoyina futhi uyithole:

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

Ngakolunye uhlangothi, uma amehlo akho ekhanya ngezinkulumo ezijwayelekile, sebenzisa okulandelayo syntax (match () ukuhlunga amanani phakathi kwamazwana):

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

Okubalulekile: Uma ikhodi yenziwa iminithi, lesi sixazululo singakhohlwa (ngoba namazwana ayasuswa).

Ukuhluka okuhle kakhulu kuphumelela nge- ECMA6 kanye nosizo lwentambo yethempulethi:

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