رشته ها در جاوااسكريپت براي ذخيره ودستكاري متن ميباشند .يك رشته در جاوااسكريپت داراي صفر تاچند كراكتر ميباشد، كه درنقل قول قرارميگيرد.
مثال ـ نمونه رشته
et text = "John Doe";
براي رشته ميتوان از كوتيشن يا دبل كوتيشن در اطراف آن استفاده كرد.
مثال ـ رشته باكوتيشن و يا دبل كوتيشن در اطراف آن
let carName1 = "Volvo XC60"; // Double quotes let carName2 = 'Volvo XC60'; // Single quotes
ميتوان از نقل قول ها درداخل متن رشته استفاده نمود بشرطيكه با نقل قول اطراف آن يكسان نباشد.
مثال ـ نقل قول در متن رشته
llet answer1 = "It's alright"; let answer2 = "He is called 'Johnny'"; let answer3 = 'He is called "Johnny"';
براي بدست آوردن طول رشته از ويژگي داخليlength استفاده مي كنيم .
توجه ـ ويژگي داخليlength (built-in property) مربوط به رشته است .
مثال ـ بدست آوردن طول رشته
let text = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; let length = text.length;
بدليل اينكه رشته ها بايد در نقل قول نوشته شوند، جاوااسكريپت اين عبارات را اشتباه تفسير ميكند .ونتيجه آنچه ميخواهيد، نميشود.
let text = "We are the so-called "Vikings" from the north.";
براي رفع اين مشكل ميتوان ازكراكترbackslash escape استفاده كرد .
كراكتر\ در رشته كراكتر خاصي است .در جدول زير عملكرد آن در رشته ها مشخص شده است.
كد | نتيجه | شــرح |
---|---|---|
\' | ' | كوتيشن |
\" | " | دبل كوتيشن |
\\ | \ | بك اسلش |
مثال ـ دنباله\" كراكتر" را درج ميكند.
et text = "We are the so-called \"Vikings\" from the north.";
مثال ـ دنباله\' كراكتر' را درج ميكند.
let text= 'It\'s alright.';
مثال ـ دنباله\\ كراكتر\ را درج ميكند.
let text = "The character \\ is called backslash.";
شش دنباله فرار ديگر در جاوااسكريپت معتبر هستند، مطابق جدول زير
code | Result |
---|---|
\b | Backspace |
\f | Form Feed |
\n | New Line |
\r | Carriage Return |
\t | Horizetal Tabulator |
\v | Vertical Tabulator |
كراكتر فراربالا در اصل براي دستگاهاي ماشين تحرير، تله تايپ و دستگاهاي فاكس طراحي شده اند .آنها برايHTML هيچ معنائي ندارند .
براي قابليت خواندن برنامه ها غالبا از نوشتن خطوط طولاني اجتناب ميكنند .معمولا حداكثر طول خطوط 80 كراكتر منظور ميشود.
در صورتيكه دستور كد در يك خط مناسب قرار نگيرد، بهترين نقاط شكستن خط مكان عملگرهاست.
مثال ـ نمونه شكستن خط كد
document.getElementById("demo").innerHTML = "Hello Dolly!";
براي شكستن خط متن ميتوان از كراكتر بك اسلش استفاده كرد .بك اسلش را هرجاي متن كه با شكسته شود قرار دهيد، وخط را بشكنيد.
مثال ـ نمونه شكستن خط متني
document.getElementById("demo").innerHTML = "Hello \ Dolly!";
روش فوق ترجيحي نيست وممكن است پشتيباني جهاني نشود .برخي از مرورگرها فضاي خالي بعدا از \مجاز نمي دانند.
يك روشن مطمئن براي شكستن متن ، عمل جمع درقسمتهاي آنست.
مثال ـ شكستن متن با عمل جمع
document.getElementById("demo").innerHTML = "Hello " + "Dolly!";
توجه ـ نميتوان يك خط كد را با\ شكست.
مثال ـ شكستن نادرست خط كد
document.getElementById("demo").innerHTML = \ "Hello Dolly!";
بطور معمول رشته ها در جاوااسكريپت با مقادير ليترال تعريف يا ايجاد ميشوند .نمونه زير
let x = "John";
اما رشته ها ميتوانند بعنوان شئ با كي وردnew تعريف شوند . نمونه زير:
let y = new String("John");
مثال ـx رشته معمولي وy شئ رشته اي
let x = "John";
let y = new String("John");
اشياء رشته اي ايجاد نكنيد .آنها كد را پيچيده و سرعت اجرا را كاهش ميدهند .اشياء رشته ميتوانند نتايج غير منتظره اي ايجاد كنند.
هنگاميكه آندو مقايسه(x==y) ميشوند نتيجه درست است.
let x = "John";
let y = new String("John");
اما هنگاميكه آندو بصورت(x===y) مقايسه شونند، نتيجه نادرست است .
let x = "John";
let y = new String("John");
توجه كنيد كه نتيجه(x==y) و(x===y) مغايرند.
آيا مقايسه(x==y) مطابق نمونه زير درست است يا نادرست .
let x = new String("John"); let y = new String("John");
آيا مقايسه(x===y) مطابق نمونه زير درست است يا نادرست.
let x = new String("John"); let y = new String("John");
توجه ـ مقايسه دو شئ در جاوااسكريپت هميشه نتيجه نادرست برگشت ميشود.