کار با رشته ها در جاوا اسکریپت – بخش اول
یک رشته، یک توالی از یک یا چند کاراکتر است که ممکن است شامل حروف، اعداد و یا نماد ها باشد. رشته ها در جاوا اسکریپت، از انواع داده ی اولیه / primitive و غیر قابل تغییر هستند.(توصیه می شود دوره آموزشی طراحی سایت و پکیج آموزش طراحی سایت را مشاهده کنید)
از آن جا که رشته ها، همان راه نمایش و کار با متن هستند و متن، راه اصلی ما برای ارتباط و درک کامپیوتر است، رشته ها یکی از اساسی ترین مفاهیم برنامه نویسی هستند که لازم است با آن ها آشنا باشید.
در این مقاله قصد داریم نحوه ی ایجاد و مشاهده ی خروجی رشته ها، نحوه ی ترکیب رشته ها، نحوه ی ذخیره رشته ها در متغیر ها و قوانین استفاده از نقل قول ها، آپوستروف ها و خطوط جدید در رشته های Javascript را یاد بگیریم.
ایجاد و مشاهده ی خروجی رشته ها در جاوا اسکریپت
در جاوا اسکریپت، سه راه برای نوشتن یک رشته وجود دارد: در داخل نقل قول تکی (‘ ‘)، دو تایی (” “) یا backticks (). نوع نقل قول استفاده شده باید در هر دو طرف مطابقت داشته باشد، اما می توان هر سه سبک را در سراسر یک اسکریپت استفاده کرد.
رشته ها با استفاده از نقل قول های دو تایی و نقل قول های تکی، به طور موثر یکسان هستند. و هیچ اولویتی برای رشته های تکی و یا دو تایی وجود ندارد، و تنها چیزی که مهم این است که در فایل برنامه ی پروژه، سازگار باشند.
1 2 3 |
'This string uses single quotes.'; "This string uses double quotes."; |
سومین و جدیدترین راه در جاوا اسکریپت برای ایجاد یک رشته، در اصطلاح الگوریتم قالب / template literal است که از backtick استفاده می کند و مانند رشته های عادی و البته با چند امتیاز اضافی کار می کند که در ادامه ی این مقاله به آن ها خواهیم پرداخت.
1 |
`This string uses backticks.`; |
ساده ترین راه برای مشاهده خروجی یک رشته این است که آن را با استفاده از console.log() در کنسول چاپ کنید:
1 2 3 4 5 |
console.log("This is a string in the console."); Output This is a string in the console. |
یک روش ساده ی دیگر برای نمایش خروجی یک مقدار در جاوا اسکریپت، ارسال یک هشدار پاپ آپ به مرورگر با استفاده از alert() است:
1 |
alert("This is a string in an alert."); |
اجرای خط بالا، خروجی زیر را در رابط کاربری مرورگر تولید می کند:
برای تست و نمایش خروجی جاوا اسکریپت، روش alert() کمتر متداول است، زیرا می تواند خیلی زود، خسته کننده شود.
ذخیره ی یک رشته در یک متغیر جاوا اسکریپت
متغیر هایی که در جاوا اسکریپت وجود دارند، container نامیده می شوند و با استفاده از کلمات کلیدی var، const یا let، یک مقدار را ذخیره می کنند. مقدار یک رشته را می توان به یک متغیر نامگذاری شده، اختصاص داد.
1 |
const newString = "This is a string assigned to a variable."; |
حالا که متغیر newString حاوی رشته ی مورد نظر ما است، می توانیم آن را ارجاع دهیم و آن را در کنسول چاپ کنیم.
1 |
console.log(newString); |
این کد، مقدار رشته را در خروجی نمایش می دهد:
1 2 3 |
Output This is a string assigned to a variable. |
با استفاده از متغیر هایی که برای رشته ها در نظر گرفته می شوند، مجبور نیستیم که یک رشته را هر بار که بخواهیم استفاده کنیم، مجددا تایپ کنیم، و این کار، کار با رشته ها و ویرایش آن ها در برنامه را ساده تر می کند.
ترکیب رشته ها / String Concatenation در جاوا اسکریپت
ترکیب به معنی اتصال دو یا چند رشته به یکدیگر برای ایجاد یک رشته ی جدید است. برای این کار، از اپراتور ترکیب / concatenation جاوا اسکریپت استفاده می کنیم که با نماد + نشان داده می شود.
در این جا، یک نمونه ی ساده از ترکیب، بین “Sea” و “horse” ایجاد می کنیم.
1 2 3 4 5 |
"Sea" + "horse"; Output Seahorse |
اگر بخواهیم بین کلمات، فاصله داشته باشیم، باید یک کاراکتر فضای خالی را در یکی از رشته ها اضافه کنیم:
1 2 3 4 5 |
"Sea " + "horse"; Output Sea horse |
می توان رشته ها و متغیر های حاوی مقادیر رشته ای را با هم ترکیب کرد:
1 2 3 4 5 6 7 8 9 10 11 |
const poem = "The Wide Ocean"; const author = "Pablo Neruda"; const favePoem = "My favorite poem is " + poem + " by " + author "."; Output My favorite poem is The Wide Ocean by Pablo Neruda. |
هنگامی که دو یا چند رشته را در جاوا اسکریپت ترکیب می کنیم، یک رشته ی جدید ایجاد می کنیم که می توانیم در برنامه از آن استفاده کنیم.
متغیرها ی رشته ها با الگوریتم قالب
یکی از ویژگی های خاص الگوریتم قالب در جاوا اسکریپت این است که توانایی در بر گرفتن عبارات و متغیرها در یک رشته را دارد. به جای این که مجبور باشیم از ترکیب استفاده کنیم، می توانیم از سینتکس ${} برای قرار دادن یک متغیر استفاده کنیم.
1 2 3 4 5 6 7 8 9 10 11 |
const poem = "The Wide Ocean"; const author = "Pablo Neruda"; const favePoem = `My favorite poem is ${poem} by ${author}.`; Output My favorite poem is The Wide Ocean by Pablo Neruda. |
همان طور که دیده می شود، قرار دادن عبارات در الگوریتم های قالب، راه دیگری برای رسیدن به همان نتیجه است. در این مورد حتی، استفاده از الگوریتم های قالب ممکن است ساده تر و راحت تر باشد.
عبارات رشته و مقادیر رشته در جاوا اسکریپت
ممکن است متوجه شوید که رشته هایی که در کد نوشته می شوند در نقل قول یا backticks قرار می گیرند، اما خروجی واقعی چاپی، هیچ نقل قولی را شامل نمی شود.
1 2 3 4 5 |
"Beyond the Sea"; Output Beyond the Sea |
در هنگام اشاره به هر یک از آن ها، تمایزی وجود دارد. یک عبارت / literal رشته، رشته ای است که در کد منبع، به صورت نقل قول نوشته شده است. و مقدار رشته، چیزی است که ما در خروجی می بینیم و شامل نقل قول نیست.
در مثال بالا”Beyond the Sea” ، یک رشته است، و Beyond the Sea، مقدار رشته است.
در این بخش از مقاله ی کار با رشته های جاوا اسکریپت، سعی شد تا مباحث اولیه مربوط به رشته ها شامل ایجاد و مشاهده خروجی رشته ها، و روش های مختلف آن، شرح داده شود. همچنین، درباره ی ذخیره ی یک رشته در یک متغیر، ترکیب رشته ها، متغیرها ی رشته ها با الگوریتم قالب، عبارات رشته و مقادیر رشته بحث شد. در این مرحله انتظار می رود که بتوانید به راحتی، کار با رشته ها را آغاز کنید. اما گاهی به مواردی بر می خورید که استثنا هستند و باید راه حل هایی برای آن ها داشت باشید تا در اجرای کد ها، به مشکل و خطا بر نخورید. در بخش دوم این مقاله، به این موارد پرداخته می شود.