آموزش رشته یا string در جاوا اسکریپت

Ratings
(0)

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

مثال شماره 1

let text = "John Doe";
امتحان کنید

ما می توانیم از دابل-کوتیشن یا تک-کوتیشن برای محصور کردن رشته ها استفاده کنیم:

مثال شماره 2

let carName1 = "Volvo XC60";  // دابل کوتیشن
let carName2 = 'Volvo XC60';  // تک کوتیشن
امتحان کنید

 ما می توانیم از علامت های نقل قول(کوتیشن) در داخل یک رشته(که خودش بین دو نقل قول محصور است) استفاده کنیم؛ اما تا زمانی که علامت نقل قول این رشته، با علامتی که در درون رشته قرار می گیرد مغایر باشد:

مثال شماره 3

let answer1 = "It's alright";
let answer2 = "He is called 'Johnny'";
let answer3 = 'He is called "Johnny"';
امتحان کنید

 


طول رشته در جاوا اسکریپت

برای پیدا کردن طول یک رشته، می توانیم از پروپرتی داخلی length استفاده کنیم:

مثال شماره 4

let text = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
let length = text.length;
امتحان کنید

کاراکتر گریز در جاوا اسکریپت

چونکه رشته ها باید در داخل علامت های نقل قول(کوتیشن) نوشته شوند، جاوا اسکریپت رشته ی زیر را به درستی متوجه نمی شود:

مثال شماره 5

let text = "We are the so-called "Vikings" from the north.";

رشته ی بالا به صورت "We are the so-called" (در خروجی) چاپ خواهد شد. راه حل برای اجتناب از این مشکل، استفاده از کاراکتر گریز بک اسلش(\) است. کاراکتر گریز بک اسلش، کاراکترهای خاص را به کاراکترهای رشته ای تبدیل می کند:

 

توضیح نتیجه کد
تک کوتیشن ' '\
دابل کوتیشن " "\
بک اسلش \ \\

کاراکتر "\ یک علامت دابل کوتیشن را در یک رشته الصاق می کند:

مثال شماره 6

let text = "We are the so-called \"Vikings\" from the north."; 
امتحان کنید

کاراکتر گریز '\ یک نقل قول یا همان کوتیشن تکی را در یک رشته الصاق یا ایجاد می کند:

مثال شماره 7

let text= 'It\'s alright.';
امتحان کنید

کاراکتر گریز \\ یک علامت بک اسلش را در یک رشته ایجاد و الصاق می کند:

مثال شماره 8

let text = "The character \\ is called backslash.";
امتحان کنید

در جاوا اسکریپت، شش کاراکتر گریز دیگر نیز وجود دارد:

نتیجه کد
Backspace b\
Form Feed f\
خط جدید(New Line) n\
(کاراکتر تعویض سطر) Carriage Return r\
Horizontal Tabulator t\
Vertical Tabulator v\

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


شکستن خط کدهای طولانی

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

مثال شماره 9

document.getElementById("demo").innerHTML =
"Hello Dolly!"; 
امتحان کنید

ما می توانیم یک کد را در داخل یک رشته ی متنی، با استفاده از یک بک اسلشِ(backslash) تکی، بشکنیم:

مثال شماره 10

document.getElementById("demo").innerHTML = "Hello \
Dolly!";
امتحان کنید

ما روش استفاده از \ را به دیگر روش ها ترجیح نمی دهیم. این روش ممکن است به صورت جهانی پشتیبانی نشود. برخی از مرورگرها، اجازه نمی دهند که قبل یا بعد از کاراکتر \ فضای خالی وجود داشته باشد. یک راه مطمئن تر برای شکستن یک رشته، این است که از علامت به اضافه(+) استفاده شود:

مثال شماره 11

document.getElementById("demo").innerHTML = "Hello " +
"Dolly!";
امتحان کنید

ما نمی توانیم یک خط کد را با یک بک اسلش بشکنیم:

مثال شماره 12

document.getElementById("demo").innerHTML = \
"Hello Dolly!";
امتحان کنید

استفاده از رشته ها بعنوان آبجکت در جاوا اسکریپت

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

مثال شماره 13

let x = "John";

اما رشته ها همچنین می توانند به صورت آبجکت نیز، با استفاده از کلمه کلیدی new تعریف شوند:

مثال شماره 14

let y = new String("John");

مثال شماره 15

let x = "John";
let y = new String("John");
امتحان کنید

نکته: آبجکت های رشته ای(String) را ایجاد نکنید. کلمه ی کلیدی new باعث پیچیده تر شدن کدها می شود و سرعت اجرا را کاهش می دهد. آبجکت های String می توانند باعث ایجاد نتایج غیرمنتظره شوند:

مثال شماره 16:

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

let x = "John";
let y = new String("John");
امتحان کنید

مثال شماره 17:

وقتی که با استفاده از عملگر === متغیرهای x و y را مقایسه می کنیم، x و y برابر یا یکسان نیستند:

let x = "John";
let y = new String("John");
امتحان کنید

 


نکته: به تفاوت بین (x==y) و (x===y) توجه کنید.

مثال شماره 18:   

(x == y) ارزش true دارد یا false ?

let x = new String("John");
let y = new String("John");
امتحان کنید

مثال شماره 19

(x===y) ارزش true دارد یا false ?

let x = new String("John");
let y = new String("John");
امتحان کنید

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

  • بازدید: 378

نوشتن دیدگاه

لطفا نظرات خود را بیان کنید. به سوالات در سریع ترین زمان پاسخ داده خواهد شد.اما به نکات زیر توجه کنید:
1. سعی کنید نظرات شما مرتبط با مقاله ی مورد نظر باشد، در غیر این صورت پاسخ داده نخواهد شد.
2. سوالات خود را به صورت کوتاه بیان کنید و از پرسیدن چند سوال به طور همزمان خودداری کنید.
3. سوال خود را به طور واضح بیان کنید و از کلمات مبهم استفاده نکنید.

ارسال