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

yehluleka futhi umhloli ukhononda ngezinto eziningana (ngesimo sethokheni elingalindelekile ILLEGAL) ngoba iJavaScript (ngokungafani nezinye izilimi ezihlela njenge-PHP) ifaka i-semicolon ngokuzenzakalela ngemuva kokuphela kolayini 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.";

Uma ukhetha okuhlukile okuhamba kancane nokuncane, engeza ukubuyela emuva 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