فصل دهم: کار با رشته‌ها در اکما اسکریپت

10 شهریور 1397
es6-strings

آبجکت های رشته ای (string) به شما اجازه کار با مجموعه ای از کاراکتر ها را می دهند. همچنین تعدادی متد کمکی را برای کار با نوع داده string ارائه می دهد. به دلیل اینکه جاوا اسکرپیت به طور خودکار رشته اصلی را به آبجکت string تبدیل می کند، می توانیم هر تعداد متد کمکی آبجکت string را روی یک رشته اصلی فراخوانی کنیم.

سینتکس آن مطابق زیر است.

var val = new String(string);

پارامتر string مجموعه ای از کاراکترهاست که به درستی encode (رمز گذاری) شده اند.

ویژگی های (پروپرتی های) string

لیست زیر پروپرتی های یک آبجکت string به همراه توضیحات آنها آورده شده است:

# پروپرتی ها توضیحات
1 constructor یک ارجاع به تابع رشته ای که آبجکت را ایجاد کرده است، بر می گرداند
2 length طول یک رشته را بر می گرداند.
3 prototype این پروپرتی به شما اجازه می دهد که پروپرتی ها و متدها را به یک آبجکت اضافه کنید

نحوه استفاده از پروپرتی constructor

یک سازنده یا constructor یک ارجاع به متد رشته ای که یک نمونه از prototype ساخته شده را برگشت می دهد.

سینتکس  

string.constructor

مقدار بازگشتی

تابعی که این نمونه آبجکت را ایجاد کرده است را بر می گرداند.

مثال- پروپرتی constructor

var str = new String( "This is string" ); 
console.log("str.constructor is:" + str.constructor)

خروجی

str.constructor is:function String() { [native code] }

متدهای string

در لیست زیر به معرفی متدهایی که روی یک آبجکت string قابل دسترسی است به همراه توضیحات هر کدام، میپردازیم.

# متد توضیحات
1 charAt() کاراکتری که ایندکس مشخص شده ای دارد را بر می گرداند.
2 charCodeAt() شماره یونیکد کاراکتری که ایندکس آن مشخص شده است.
3 concat() دو رشته را با هم ترکیب و یک رشته جدید ایجاد می کند.
4 indexOf() مقدار یک رشته را در رشته دیگر جستجو کرده و اگر پبدا شد، ایندکس آن را بر می گرداند. اگر پیدا نشد -1 را بر می گرداند
5 lastIndexOf() مقدار یک رشته را در رشته دیگر جستجو کرده و اگر  پیدا  شد، ایندکس آخرین مورد آن را بر میگرداند. اگر پیدا نشد -1 را بر می گرداند
6 localCompare() تقدم مکانی دو رشته عبارت را از یکدیگر به صورت 0، 0، -1 بر می گرداند
7 match() یک رشته را بر اساس کمیت های عبارات با قاعده (Regular Expression) جستجو کرده و مقادیر یافته را بر می گرداند
8 replace() یک رشته را بر اساس کمیتهای regular Expression جستجو کرده و کاراکترهای مورد نظر را جایگزین و رشته تغییر یافته را بر می گرداند.
9 search() یک رشته را بر اساس کمیتهای regular Expression جستجو کرده و موقعیت مکانی اولین کاراکتر یافت شده را بر اساس مقدار عددی بر می گرداند
10 slice() دو کمیت عددی به عنوان ابتدا و انتها دریافت کرده و کاراکترهای یک رشته را جدا کرده و بر می گردند
11 substr() دو کمیت به عنوان ابتدا و انتها دریافت کرده و کاراکترهای یک رشته را جدا کرده و آنها را بر می گرداند.
12 substring() کاراکترهای یک رشته را که بین دو ایندکس قرار گرفته اند را بر می گرداند
13 toLocaleLowerCase() رشته عبارت لاتین با حروف بزرگ را به حروف کوچک تبدیل می کند که بر اساس استاندارد مرورگر کاربر(محلی) این تبدیل انجام می شود
14 toLocalupperCase() رشته عبارت لاتین با حروف کوچک را به حروف بزرگ تبدیل می کند که بر اساس استاندارد مرورگر کاربر(محلی) این تبدیل انجام می شود
15 toLowerCase() رشته مورد نظر را به حروف کوچک تبدیل می کند
16 toString() مقدار را به شی رشته ای تبدیل و آنرا بر می گرداند
17 toUpperCase() رشته مورد نظر را به حروف بزرگ تبدیل می کند
18 valueOf() مقدار اولیه یک شی رشته ای را بر می گرداند
19 split() یک آبجکت رشته ای را با جداسازی رشته اصلی به زیر رشته، به آرایه ای از رشته ها تقسیم می کند

 متد indexOf()

 مقدار یک رشته را در رشته دیگر جستجو کرده و اگر پبدا شد، ایندکس آن را بر می گرداند. اگر پیدا نشد -1 را بر می گرداند.

سینتکس

string.indexOf(searchValue[, fromIndex])

جزئیات آرگومان ها

SearchValueرشته ای که به دنبال آن هستیم.

fromIndex: مکان داخل رشته که جستجو از آنجا شروع می شود. این عدد می تواند بین صفر تا طول رشته باشد. پیش فرض آن صفر است.

مقدار برگشتی

ایندکس مکانی که رشته در آن محل پیدا شد، و اگر رشته پیدا نشد مقدار 1- را بر میگرداند.

مثال

var str1 = new String( "This is string one" );  
var index = str1.indexOf( "string" ); 
console.log("indexOf found String :" + index );   

var index = str1.indexOf( "one" ); 
console.log("indexOf found String :" + index );

خروجی 

indexOf found String :8 
indexOf found String :15

متد slice()

این متد یک بخش از یک رشته را استخراج کرده و یک رشته جدید را بر می گرداند.

سینتکس

string.slice( beginslice [, endSlice] );

جزئیات آرگومان ها

beginSlice: ایندکس مکانی که عمل استخراج از آنجا شروع می شود.

endSlice: ایندکس انتهای رشته ای که می خواهید استخراج کنید. در صورتی که مقداری برای این پارامتر وارد نشود، تا انتهای رشته عمل استخراج انجام می شود.

مثال

var str = "Apples are round, and apples are juicy."; 
var sliced = str.slice(3, -2); 
console.log(sliced);

خروجی

les are round, and apples are juic
نویسنده شوید

دیدگاه‌های شما

در این قسمت، به پرسش‌های تخصصی شما درباره‌ی محتوای مقاله پاسخ داده نمی‌شود. سوالات خود را اینجا بپرسید.