رشته ها (Strings)
رشته متنی یا String برای نگهداری متن است. رشته بین کوتیشن (Quotes) نوشته می شود. مثل اسم، پیام، یا متن چت.
نحوه نوشتن رشته با کوتیشن
می توانی از کوتیشن تکی یا دوتایی استفاده کنی. فرقی ندارند. فقط آغاز و پایان باید یکی باشد.
let text = "John Doe";
let carName1 = "Volvo XC60";
let carName2 = 'Volvo XC60';
کوتیشن داخل کوتیشن
داخل رشته می توانی کوتیشن مخالف را راحت بنویسی. یعنی اگر بیرونی دوتایی است، تکی داخلش آزاد است، و برعکس.
let answer1 = "It's alright";
let answer2 = "He is called 'Johnny'";
let answer3 = 'He is called "Johnny"';
Template String با بک تیک
رشته Template در ES6 معرفی شد. با بک تیک (`) نوشته می شود. هم کوتیشن ها را آزاد می گذارد، هم چندخطی است.
let text = `He's often called "Johnny"`;
let poem = `The quick\nbrown fox\njumps over\nthe lazy dog`;
console.log(poem);
طول رشته با length
برای گرفتن طول رشته از ویژگی length استفاده کن. خروجی تعداد کاراکترهاست.
let text = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
let length = text.length;
console.log(length);
کاراکترهای Escape با
وقتی کوتیشن ها قاطی می شوند، با بک اسلش (\) آن ها را فراری بده. این یعنی حرف ویژه داخل رشته عادی شود.
let t1 = "We are the so-called \"Vikings\" from the north.";
let t2 = 'It\'s alright.';
let t3 = "The character \\ is called backslash.";
console.log(t1);
console.log(t2);
console.log(t3);
نکته: کاراکترهای \n، \t و بقیه قدیمی اند. در HTML معنی UI ندارند.
شکستن خطوط طولانی
برای خوانایی کد، خط طولانی را بعد از عملگر بشکن. یا رشته را با + تکه تکه کن.
document.getElementById("demo").innerHTML =
"Hello Dolly!";
document.getElementById("demo").innerHTML = "Hello " +
"Dolly!";
رشته اولیه یا شیء String؟
رشته معمولی اولیه (Primitive) است. اما با new String شیء می سازی. این کار پیشنهاد نمی شود.
let x = "John";
let y = new String("John");
console.log(x == y);
console.log(x === y);
هشدار: مقایسه دو شیء همیشه false می شود؛ حتی اگر محتوا یکی باشد.
let a = new String("John");
let b = new String("John");
console.log(a == b);
console.log(a === b);
گام های تمرین
- یک رشته نام بساز و طولش را چاپ کن.
- یک جمله با کوتیشن های قاطی بنویس.
- همان جمله را با Template چندخطی بساز.
نکته: ادامه کار با Template String و کارهای بیشتر در متدهای رشته عالی است. برای منطق شرطیِ چاپ، فصل عملگرهای منطقی را ببین.
جمع بندی سریع
- رشته متن داخل کوتیشن است.
- بک تیک، چندخطی و درج آسان دارد.
- length طول رشته را می دهد.
- با \ کوتیشن ها را فراری بده.
- new String استفاده نکن.