رشته ها در 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)
- رشته ها به عنوان اشیاء