سلام خدمت شما دوستان عزیز، امیدوارم که حالتون خوب باشه. بااموزش امروز درخدمت شما هستم .از رشته (string) به منظور ذخیره سازی و دستکاری نوشته یا متن در جاوا اسکریپت استفاده می شود.

رشته در جاوا اسکریپت اصولا جهت ذخیره ی یک سری کاراکتر بکار می رود، مانند این مثال : “John Doe”.

رشته می تواند هر نوشته ی داخل علامت نقل و قول باشد. امکان استفاده از هر دو نوع ” ” یا ‘ ‘ وجود دارد.

مثال :

نمونه یک
?
۱
۲
۳
۴
۵
۶

var carName1 = “Volvo XC60”;
var carName2 = ‘Volvo XC60’;
document.getElementById(“demo”).innerHTML =
carName1 + “
” + carName2;

حتی می توان از علامت بیان شده داخل خود رشته استفاده کرد، مادام اینکه با علامت های نقل و قول اطراف رشته تداخل پیدا نکنند.

مثال

نمونه دو
?
۱
۲
۳
۴
۵

var answer1 = “It’s alright”;
var answer2 = “He is called ‘Johnny'”;
var answer3 = ‘He is called “Johnny”‘;
document.getElementById(“demo”).innerHTML =
answer1 + “
” + answer2 + “
” + answer3;

طول رشته (string length)

جهت بدست آوردن طول یک رشته، کافی است از خاصیت (property) length بهره ببرید.

مثال

نمونه سه
?
۱
۲

var txt = “ABCDEFGHIJKLMNOPQRSTUVWXYZ”;
document.getElementById(“demo”).innerHTML = txt.length;

کارکاترهای ویژه ی (Special Characters) جاوا اسکریپت

به این خاطر که رشته باید حتما داخل علامت نقل و قول قرار داده شود، جاوا اسکریپت قادر به درک رشته های مشابه نمونه ی زیر نخواهد بود.

مثال

var y = “We are the so-called “Vikings” from the north.”‎

بدین معنا که رشته به صورت زیر کوتاه شده و بقیه ی آن درنظر گرفته نمی شود.

‎”We are the so-called “.‎

جهت اجتناب از بروز مشکلاتی از این دست، باید از کاراکتر”\ ” استفاده کنید.

علامت (\) برای وارد کردن کاراکترهای ویژه مانند: (“)، (‘) و یا رفتن به خط جدید در یک رشته، استفاده می شود.

مثال

نمونه چهار
?
۱
۲
۳
۴

var x = ‘It\’s alright’;
var y = “We are the so-called \”Vikings\” from the north.”;

document.getElementById(“demo”).innerHTML = x + “
” + y;

جدول زیر تمامی کاراکترهایی که امکان درج آن ها در رشته با استفاده از (\) فراهم می آید را فهرست کرده.

کد

خروجی

\’

single quote

\”

double quote

\\

backslash

\n

new line

\r

carriage return (رفتن سر خط)

\t

tab

\b

backspace

\f

form feed

شکستن خطِ کدهای طولانی (قرار دادن کد در خط بعدی)

به منظور بهبود خوانایی کد، برنامه نویسان تا حد ممکن از قرار دادن بیش از ۸۰ کاراکتر داخل یک خط اجتناب می کنند.

در صورتی که دستور جاوا اسکریپت داخل یک خط جا نمی گیرد، بهترین مکان برای شکستن آن خط پس از عملگر خواهد بود.

مثال

نمونه پنج
?
۱
۲
۳
۴
۵
۶
۷
۸
۹
۱۰
۱۱
۱۲

My Web Page

The best place to break a code line is after an operator or a comma.

false

document.getElementById(“demo”).innerHTML =
“Hello Dolly.”;

همچنین می توان یک خط کد را از وسط یک رشته ی متنی (text string) قطع کرد و بقیه ی آن را در خط بعدی قرار داد، این امر با استفاده از کاراکتر” \ ” امکان پذیر می شود.

مثال

نمونه شش
?
۱
۲
۳
۴

document.getElementById(“demo”).innerHTML = “Hello\
Dolly.”;

توجه

استفاده از کاراکتر مذکور به گونه ی که تشریح شد یک استاندارد ECMAScript (JavaScript) نیست. برخی از مرورگرها فاصله ی قبل از کاراکتر \ را نمی پذیرند.

روش امن تر و پرکاربرد تر، به هم وصل کردن رشته های شکسته شده توسط ” + ” می باشد.

مثال

نمونه هفت
?
۱
۲
۳
۴

document.getElementById(“demo”).innerHTML = “Hello” +
“Dolly.”;

اجازه ی نصف کردن (شکستن) خط کد با استفاده از کاراکتر \ به شما داده نمی شود.

مثال

نمونه هشت
?
۱
۲
۳
۴

document.getElementById(“demo”).innerHTML = \
“Hello Dolly.”;

به طور معمول رشته های جاوا اسکریپت مقادیر اولیه ی هستند که از literal ها ساخته می شوند.

var firstName = “John”‎

اما می توان رشته ها را با استفاده از کلید واژه ی new به عنوان شی تعریف کرد.

var firstName = new String(“John”)‎

مثال

نمونه نه
?
۱
۲
۳
۴
۵
۶
۷

var x = “John”; // x is a string
var y = new String(“John”); // y is an object

document.getElementById(“demo”).innerHTML =
typeof x + “
” + typeof y;

مهم

سعی کنید تا حد ممکن از ایجاد رشته به عنوان اشیا خودداری کنید، زیرا که سرعت اجرا را کاهش داده و باعث بوجود آمدن اثار جانبی ملال آوری زیادی می شود.

اگر از عملگر == استفاده کنید، رشته های (که مقادیر یکسان دارند) یکسان تلقی می گردند.

مثال

نمونه ده
?
۱
۲
۳
۴
۵

var x = “John”; // x is a string
var y = new String(“John”); // y is an object
document.getElementById(“demo”).innerHTML = (x == y);

اما چنانچه از عملگر === استفاده کنید، رشته هایی که فقط مقادیر یکسان دارند دیگر کاملا یکسان محسوب نمی شوند زیرا که عملگر ذکر شده انتظار دارد رشته ها از نظر مقدار و نوع با هم یکی باشند.

مثال

نمونه یازده
?
۱
۲
۳
۴
۵

var x = “John”; // x is a string
var y = new String(“John”); // y is an object
document.getElementById(“demo”).innerHTML = (x === y);

حتی بدتر اشیا هستند که نمی توان آن ها را با هم مقایسه کرد.

مثال

نمونه دوازده
?
۱
۲
۳
۴
۵

var x = new String(“John”); // x is an object
var y = new String(“John”); // y is an object
document.getElementById(“demo”).innerHTML = (x == y);

مهم : اشیا را نمی توان با هم مقایسه کرد.

خصوصیت ها و متدهای رشته

مقادیر اولیه مانند “John Doe” قادر به گرفتن خصوصیت و متد نیستند (زیرا که این مقادیر اولیه شی محسوب نمی شوند).

اما در جاوا اسکریپت این امکان برای مقادیر اولیه وجود دارد که متد و خصوصیت دریافت کنند، زیرا که جاوا اسکریپت هنگام اجرای متدها و خاصیت ها (property) با مقادیر اولیه مانند شی برخورد می کند.

خاصیت های شی string

خاصیت

شرح

constructor

تابعی را که نمونه ی اولیه (prototype) شی string را ایجاد کرده بازمی گرداند / نام تابع سازنده شی مورد نظر را بر می گرداند.

length

طول یک رشته را برمی گرداند / تعداد کاراکترهای عبارت متنی را باز می گرداند

prototype

قابلیت افزودن خاصیت ها و متدهای جدید به شی را فراهم می آورد

متد

شرح

charAt()

کاراکتری با اندیس مشخص شده (که دارای موقعیت معینی می باشد یا شماره ی مکان قرار گیری آن تعریف شده) را باز می گرداند / برای نمایش مقدار یک کاراکتر در متغیر رشته ای بکار می رود

charCodeAt()

به منظور نمایش کد اسکی یک کاراکتر در متغیر رشته ای بکار گرفته می شود / Unicode کاراکتر مورد نظر را از موقعیت مشخص شده (دارای اندیس معین است) باز می گرداند

concat()

چندین رشته را بهم متصل کرده، سپس کپی از رشته های به هم چسبانده شده برمی گرداند / از این متد جهت الحاق کردن دو یا چند متغیر رشته ای به هم استفاده می شود

fromCharCode()

مقادیر Unicode را به حروف (کاراکتر) تبدیل می کند

indexOf()

شماره (اندیس) محل قرار گیری اولین نمونه یک حرف یا کلمه را در یک متغیر متنی بر می گرداند

lastIndexOf()

شماره (اندیس) محل قرارگیری آخرین نمونه ی حرف یا کلمه را در یک متغیر متنی باز می گرداند

localeCompare()

دو رشته را در محل جاری با هم مقایسه می کند

match()

از این متد برای جستجو یک حرف یا کلمه خاص در یک متغیر متنی استفاده می شود

replace()

به منظور برای جایگزین کردن یک حرف خاص در متغیر متنی و جایگزین کردن آن با یک مقدار جدید استفاده می شود

search()

در یک رشته بدنبال مقدار معین جستجو کرده و موقعیت یا محل قرار گیری مقدار مورد نظر را باز می گرداند

slice()

بخشی از یک رشته را برش داده و بیرون می کشد، سپس یک رشته ی جدید باز می گرداند. به منظور جستجو بدنبال یک حرف یا کلمه ی خاص در متغیر متنی بکار می رود

split()

یک رشته را به آرایه ای از زیر رشته ها (یک قسمت متوالی از یک رشته) تقسیم می کند / برای تقسیم یک متغیر متنی به آرایه یا مجموعه ای از کاراکترها استفاده می گردد

substr()

از این متد برای برش و استخراج تعداد معینی از کاراکترهای یک متغیر متنی استفاده می شود

substring()

متدی است که امکان استخراج یا برش دادن بخشی از یک رشته (حروف رشته) را بین دو نقطه ی تعیین شده بوجود می آورد / این تابع به منظور برش تعداد مشخصی از کاراکترهای یک متغیر متنی بین دو نقطه معین مورد استفاده قرار می گیرد

toLocaleLowerCase()

نوشته های یک رشته را بر اساس محل میزبان (host) با حروف کوچک نمایش می دهد.

toLocaleUpperCase()

یک رشته را با درنظر گرفتن و بر اساس مکان جاری میزبان (host) به حروف بزرگ تبدیل می کند

toLowerCase()

کاراکترهای یک رشته را به حروف کوچک تبدیل می کند

toString()

مقدار یک شی string را برمی گرداند

toUpperCase()

کاراکترهای رشته را به حروف بزرگ تبدیل می کند، در واقع با استفاده از این تابع می توان نوشته ی یک رشته را با حروف بزرگ نمایش داد

trim()

فاصله یا فضای خالی را از هر دو طرف رشته حذف می کند

valueOf()

مقادیر اولیه ی یک شی string را باز می گرداند