ஜாவாஸ்கிரிப்டில் பல வரி சரங்கள்

ஜாவாஸ்கிரிப்ட் மூலம் நிரலாக்கும்போது, ​​குறியீட்டில் பல வரிகளில் உள்ளிடுவதன் மூலம் பல வரி சரங்களை செயல்படுத்த இயலாமை குறித்து ஒருவர் அடிக்கடி தடுமாறுகிறார். PHP அல்லது ரூபி போன்ற பிற மொழிகளில் உள்ள பணி ஒரு பிரச்சனையல்ல என்றாலும், ஜாவாஸ்கிரிப்ட் மூலம் நீங்கள் ஆரம்பத்தில் பணித்தொகுப்புகளுடன் மட்டுமே செல்ல முடியும், இதன் பயன்பாடு தனிப்பட்ட சுவை அல்லது உலாவி ஆதரவால் தீர்மானிக்கப்படுகிறது.


வெளிப்படையான முயற்சி

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

தோல்வியுற்றது மற்றும் பாகுபடுத்தி பின்னர் பல விஷயங்களைப் பற்றி புகார் கூறுகிறார் (எதிர்பாராத டோக்கன் ILLEGAL வடிவத்தில்), ஏனெனில் ஜாவாஸ்கிரிப்ட் (PHP போன்ற பிற நிரலாக்க மொழிகளுக்கு மாறாக) ஒவ்வொரு வரியின் முடிவிலும் தானாகவே அரைக்காற்புள்ளியை செருகும்:

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

சிக்கலுக்கான முதல் தீர்வு string n மற்றும் + ஆபரேட்டர் மூலம் எளிய சரம் இணைப்புகளைக் கொண்டுள்ளது:

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

குறைந்த மெதுவான மற்றும் சற்று இனிமையான மாறுபாட்டை நீங்கள் விரும்பினால், ஒவ்வொரு வரியின் முடிவிலும் பின்சாய்வுக்கோலைச் சேர்க்கவும்:

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

மாற்றாக, நீங்கள் சேரும் முறையைப் பயன்படுத்தி அதைப் பெறலாம்:

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

மறுபுறம், உங்கள் கண்கள் வழக்கமான வெளிப்பாடுகளுடன் ஒளிரும் என்றால், பின்வரும் தொடரியல் பயன்படுத்தவும் (பொருத்தம் () கருத்துகளுக்கு இடையிலான மதிப்புகளை வடிகட்டுகிறது):

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

முக்கியமானது: குறியீடு குறைக்கப்பட்டால், இந்த தீர்வை மறந்துவிடலாம் (கருத்துகளும் அகற்றப்படுவதால்).

மிகச்சிறந்த மாறுபாடு ECMA6 மற்றும் வார்ப்புரு சரங்களின் உதவியுடன் வெற்றி பெறுகிறது:

var str = `Dies ist eine
mehrzeilige
Zeichenkette`;
மீண்டும்