رشته ها در JS

برای ذخیره اطلاعات متنی از رشته ها (string) استفاده می شود.

رشته ها به وسیله کوتیشن (نقل قول - quotes) محصور می شوند.

let name = "ehsan";

 در نمونه کد بالا یک متغیر از نوع رشته ای با نام name و مقدار ehsan درست کرده ایم.

رشته فوق شامل 5 کارکتر است:

  • ایندکس 0: e
  • ایندکس 1: h
  • ایندکس 2: s
  • ایندکس 3: a
  • ایندکس 4: n

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

نکته: در همه زبان های برنامه نویسی، ایندکس ها از 0 شروع می شوند.

نکته: همانطور که در نمونه کد بالا دیدید، کلمه ehsan شامل 5 کارکتر است ولی آخرین ایندکس آن 4 است. به طور کلی همیشه شماره آخرین ایندکس برابر تعداد کارکترهای رشته منهای 1 است.

کوتیشن - نقل قول - quotes در JS

رشته ها درون کوتیشن (quotes) قرار می گیرند.

کوتیشن می تواند:

  • کوتیشن تکی (single qoute) (' ')
  • کوتیشن دوتایی (double qoute) (" ")
  • بکتیک (backticks) (` `)

در JS هیچ تفاوتی بین عملکرد کوتیشن تکی و کوتیشن دوتایی وجود ندارد.

let var1 = 'کوتیشن تکی'; 
let var2 = "کوتیشن دوتایی";
let var3 = `بکتیکز` ;

استفاده از کوتیشن در کوتیشن JS

let single_qoute = 'my name is 'mohammad reza' and ...'; 
let double_qoute = "my name is "mohammad reza" and ..."; 

هر دو کد بالا اشتباه است. و در صورت اجرا ارور می دهد. در واقع هر دو رشته بعد از کلمه 'is ' بسته می شوند.

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

1. استفاده از کوتیشن غیر مشابه: همانطور که در کد زیر مشاهده می کنید کلمه "mohammad reza" به وسیله کوتیشن غیر مشابه محصور شده است.

let single_qoute = 'my name is "mohammad reza" and ...';
let double_qoute = "my name is 'mohammad reza' and ...";

2. استفاده از بک اسلش (کارکتر فرار - escape characters):  

let single_qoute = 'my name is \'mohammad reza\' and ...';
let double_qoute = "my name is \"mohammad reza\" and ...";

 3. استفاده از بکتیکز:

let single_qoute = `my name is 'mohammad reza' and ...`;
let double_qoute = `my name is "mohammad reza" and ...`;

رشته ها به عنوان اشیاء در JS

رشته های JS از نوع ابتدایی (Primitives Type) هستند.

let x = "Ehsan";

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

let y = new String("Ehsan");

نکته: استفاده از رشته به صورت شیء باعث کاهش سرعت اجرا و ایجاد مشکل های دیگر می شود، توصیه می شود به هیچ وجه استفاده نشود.

نکته: به هر نوع داده به غیر از object و آرایه، نوع ابتدایی یا Premitive Type گفته می شود. مانند: رشته های، اعداد و..

خلاصه درس

در این فصل باموارد زیر آشنا شدیم:

  • رشته ها (string)
  • کوتیشن ها (quotes)
  • الگورشته ها (template)
  • رشته ها به عنوان اشیاء

توسعه دهندگان
احسان اسلامی