«رشته» نوع دادهی جاوااسکریپت برای ذخیرهی دادههای متنی است. نوع دادهی جداگانهای برای یک نویسهی تکی وجود ندارد.
برای ساخت یک رشتهی لیترال، متن را درون گیومههای تکی یا دوتایی قرار میدهید. در Exercism از گیومههای تکی استفاده میشود.
'Hello, World!'
"Hello, World!"
قبل از برخی از نویسههای خاص متن باید یک بکاسلش \ بگذارید. دنبالههای فرار در MDN را ببینید.
const text = 'I\'m having fun.\nWhat about you?';
console.log(text);
// => I'm having fun.
// => What about you?
علاوه بر گیومههای تکی و دوتایی، میتوانید متن را درون بکتیکها هم بگذارید و رشتهای بسازید. این نحوهی نگارش اجازه میدهد گیومههای تکی یا دوتایی و حتی خطوط جدید را بدون اینکه لازم باشد آنها را فرار بدهید بگنجانید. همچنین امکان جاسازی عبارتها را هم میدهد؛ برای جزئیات بیشتر رشتههای قالب را ببینید.
`A multi-line string
with 'single quotes'
and "double quotes"`;
با یک رشته میتوان مانند فهرستی از نویسهها رفتار کرد که نویسهی اولش اندیس 0 دارد.
میتوانید با استفاده از کروشهها و اندیس حرفی که میخواهید بهدست آورید، به یک نویسهی تکی از رشته دسترسی پیدا کنید.
بهعنوان روش جایگزین، متد charAt هم وجود دارد.
'cat'[1];
// => 'a'
'cat'.charAt(2);
// => 't'
میتوانید تعداد نویسههای یک رشته را با دسترسی به ویژگی length تعیین کنید.
'cat'.length;
// => 3
سادهترین راه برای الحاق رشتهها استفاده از عملگر جمع + است.
'I like' + ' ' + 'cats.';
// => "I like cats."
رشته متدهای کمکی زیادی در اختیار میگذارد؛ برای فهرست کامل مستندات MDN دربارهی متدهای رشته را ببینید. فهرست زیر چند مورد از متدهای کمکی پرکاربرد را نشان میدهد.
toUpperCase و toLowerCase: تغییر بزرگی و کوچکی همهی نویسههاtrim: حذف فاصلههای خالی از ابتدا و انتهاincludes، startsWith و endsWith: تعیین اینکه آیا رشتهی دیگری بخشی از رشتهی دادهشده است یا نهslice: استخراج بخشی از رشتهاعمال متدهای بالا هرگز رشتهی اصلی را تغییر نمیدهد. در عوض، یک رشتهی جدید ساخته و برگردانده میشود. رشته (و سایر انواع دادهی اولیه) در جاوااسکریپت تغییرناپذیر است. این یعنی همچنین نمیتوانید با استفاده از نحوهی نگارش کروشهای که بالا نشان داده شد، نویسهی دیگری را در یک اندیس خاص اختصاص دهید (کاری که در آرایهها انجام میدهید).
const str = 'cat';
str[1] = 'u'; // fails silently
console.log(str);
// => 'cat'