در جاوا اسکریپت، کار کردن با متن بخش مهمی از کدنویسی است و خیلی وقتها لازم است تکههای متن را با هم ترکیب یا به هم وصل کنید. به این فرایند الحاق رشته (string concatenation) گفته میشود.
در این درس، روی نحوه کار کردن الحاق رشته تمرکز میکنیم؛ بهطور مشخص با استفاده از عملگر +، عملگر += و متد concat().
عملگر + یکی از سادهترین و پرکاربردترین روشها برای الحاق رشتهها است. این عملگر به شما اجازه میدهد چند رشته را به هم وصل کنید یا رشتهها را با متغیرهایی که متن نگه میدارند ترکیب کنید.
یک مثال:
let firstName = "John";
let lastName = "Doe";
let fullName = firstName + " " + lastName;
console.log(fullName); // John Doe
"John Doe"
در این مثال، از عملگر + برای چسباندن متغیرهای firstName و lastName به همراه یک فاصله (" ") استفاده کردیم تا نام کامل ساخته شود.
یکی از معایب استفاده از عملگر + برای الحاق رشته این است که اگر فاصلهها را با دقت مدیریت نکنید، ممکن است مشکلات مربوط به فاصله (spacing) به وجود بیاید.
در اینجا مثالی را میبینید که در آن فاصله جا افتاده است:
let firstName = "John";
let lastName = "Doe";
let fullName = firstName + lastName;
console.log(fullName); // "JohnDoe"
"JohnDoe"
هر وقت از عملگر + برای الحاق رشتهها استفاده میکنید، مهم است که وجود هرگونه مشکل احتمالی مربوط به فاصلهها را دوباره بررسی کنید.
اگر لازم دارید به یک رشته موجود چیزی اضافه کنید (append)، میتوانید از عملگر += استفاده کنید. این کار زمانی مفید است که میخواهید یک رشته را به مرور زمان با اضافه کردن متنهای بیشتر بسازید.
در اینجا نمونهای از اضافه کردن یک رشته به رشته دیگر با استفاده از عملگر += آمده است:
let greeting = 'Hello';
greeting += ', John!';
console.log(greeting); // "Hello, John!"
"Hello, John!"
مهم است به خاطر داشته باشید که رشتهها تغییرناپذیر (immutable) هستند؛ یعنی وقتی یک رشته ساخته میشود، نمیتوانید آن را تغییر دهید.
در این حالت، رشته اصلی Hello تغییر نکرده است. در عوض، greeting حالا به رشته جدید Hello, John! اشاره میکند.
راه دیگری که میتوانید رشتهها را به هم متصل کنید استفاده از متد concat() است.
قبل از اینکه شروع کنیم به یاد گرفتن متد concat()، لازم است ابتدا در سطحی کلی بفهمیم تابع (function) و متد (method) چه هستند.
در برنامهنویسی، یک تابع یک بلوک قابل استفاده مجدد از کد است که یک کار مشخص را انجام میدهد و میتوان آن را با ورودیهای مختلف فراخوانی کرد. اما یک متد نوعی تابع است که به یک شیء (object) وابسته است؛ یعنی روی دادههایی که داخل آن شیء قرار دارند عمل میکند.
در درسهای آینده خیلی عمیقتر وارد این میشویم که توابع، اشیاء و متدها در جاوا اسکریپت چگونه کار میکنند. اما فعلاً مهم است بدانید جاوا اسکریپت دهها متد مختلف دارد که میتوانید از آنها استفاده کنید، مثل متد concat().
در اینجا نمونهای از استفاده از متد concat() برای وصل کردن دو رشته به هم آمده است:
let str1 = 'Hello';
let str2 = 'World';
let result = str1.concat(' ', str2);
console.log(result); // Hello World
"Hello World"
در این مثال، از متد concat() برای اتصال str1، یک فاصله (' ')، و str2 در قالب یک رشته واحد استفاده میکنیم.
در پایان، عملگر + برای الحاقهای ساده بهترین گزینه است، مخصوصاً زمانی که لازم دارید چند رشته یا چند متغیر را با هم ترکیب کنید.
عملگر += زمانی مفید است که میخواهید یک رشته را مرحلهبهمرحله بسازید یا محتوای جدیدی را به یک متغیر رشتهای موجود اضافه کنید.
در نهایت، متد concat() زمانی مفید است که لازم دارید چندین رشته را با هم متصل کنید.
سوالات
کاربرد اصلی عملگر + در الحاق رشته چیست؟
- برای مقایسه دو رشته.
- برای وصل کردن دو یا چند رشته به یکدیگر.
- برای بررسی برابر بودن دو رشته.
- برای حذف کاراکترها از یک رشته.
کدامیک روش درست برای الحاق رشتهها است؟
let greeting = "Hi";
greeting -= " there!";
let greeting = "Hi";
greeting =+ " there!";
let greeting = "Hi";
greeting += " there!";
let greeting = "Hi";
greeting == " there!";
کدامیک متد درست برای الحاق چند رشته است؟
concatenate()concat()concatenating()concats()
