کاربردهای slice و substring

مقایسه متدهای slice و substring در جاوااسکریپت

در زبان برنامه‌نویسی جاوااسکریپت، متدهای slice و substring از پرکاربردترین توابع برای کار با رشته‌ها هستند. این دو متد شباهت‌های زیادی دارند اما تفاوت‌های کلیدی نیز وجود دارد که هر توسعه‌دهنده‌ای باید با آنها آشنا باشد.


کاربرد اصلی slice و substring

هر دو متد برای استخراج بخشی از یک رشته استفاده می‌شوند و ساختار کلی آنها به این صورت است:

  • رشته.slice(شروع, پایان)
  • رشته.substring(شروع, پایان)

برای یادگیری عمیق‌تر می‌توانید به این آموزش جامع مراجعه کنید.

ویژگی slice substring
پارامترهای منفی پذیرفته می‌شود پذیرفته نمی‌شود
ترتیب پارامترها مهم نیست اگر شروع > پایان باشد، جابه‌جا می‌کند

تفاوت‌های کلیدی

  1. پارامترهای منفی: متد slice می‌تواند اندیس‌های منفی را بپذیرد (که از انتهای رشته شمارش می‌شود) اما substring این قابلیت را ندارد.
  2. رفتار با پارامترهای معکوس: در substring اگر اندیس شروع بزرگتر از اندیس پایان باشد، این دو مقدار به طور خودکار جابه‌جا می‌شوند، اما در slice چنین اتفاقی نمی‌افتد.
  3. کارایی: در برخی موتورهای جاوااسکریپت، substring ممکن است عملکرد بهتری داشته باشد، اما این تفاوت معمولاً ناچیز است.
نکته مهم: هر دو متد رشته اصلی را تغییر نمی‌دهند و یک رشته جدید برمی‌گردانند. این ویژگی در جاوااسکریپت به نام "immutability" شناخته می‌شود.

مثال‌های کاربردی

در اینجا چند مثال عملی از استفاده از این متدها را مشاهده می‌کنید:

مثال با slice:

const text = "Hello World";

console.log(text.slice(0, 5)); // خروجی: "Hello"

console.log(text.slice(-5)); // خروجی: "World"

مثال با substring:

const text = "Hello World";

console.log(text.substring(0, 5)); // خروجی: "Hello"

console.log(text.substring(6, 11)); // خروجی: "World"

برای مطالعه بیشتر و دیدن مثال‌های پیشرفته‌تر، پیشنهاد می‌کنیم حتماً از منبع آموزشی معتبر استفاده کنید.