بفرست برای دوستات :
آموزش جاوا اسکریپت از مبتدی تا حرفه ای

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

در جاوا اسکریپت ، اشیا پادشاه هستند. اگر اشیا را می فهمید ، پس جاوا اسکریپت را هم می فهمید.


در جاوا اسکریپت، تقریباً “همه چیز” یک شی است.

  • بولین ها می تواند اشیا باشد (در صورت تعریف با کلمه کلیدی new)
  • اعداد می توانند اشیا باشند (در صورت تعریف با کلمه کلیدی new)
  • رشته ها می توانند اشیا باشند (در صورت تعریف با کلمه کلیدی new)
  • تاریخ ها همیشه اشیاء هستند
  • ریاضیات همیشه اشیا هستند
  • عبارات منظم همیشه اشیا هستند
  • آرایه ها همیشه اشیا هستند
  • توابع همیشه اشیا هستند
  • اشیا همیشه اشیا هستند

همه مقادیر جاوا اسکریپت ، به استثنای مقادیر ابتدایی ، اشیا هستند.


مقادیر ابتدایی جاوا اسکریپت

مقدار اولیه یک ارزش است که هیچ خصوصیت یا متدی ندارد.

نوع داده اولیه داده ای است که دارای مقدار ابتدایی است.

جاوا اسکریپت 5 نوع از انواع داده های ابتدایی را تعریف می کند:

  • string
  • number
  • boolean
  • null
  • undefined

مقادیر ابتدایی تغییرناپذیر هستند.

اگر x = 3.14 ، می توانید مقدار x را تغییر دهید. اما نمی توانید مقدار 3.14 را تغییر دهید.

ارزشتایپ کنیداظهار نظر
“سلام”رشته“سلام” همیشه “سلام” است
3.14عدد3.14 همیشه 3.14 است
trueبولیtrue همیشه درست است
falseبولیfalse همیشه نادرست است
nullپوچ (شی)null همیشه پوچ است
undefinedتعریف نشدهundefined همیشه تعریف نشده است


اشیا متغیر هستند

متغیرهای جاوا اسکریپت می توانند یک مقدار داشته باشند:

مثالها

خودتان آزمایش کنید

اشیا نیز متغیر هستند. اما اشیا می توانند مقادیر زیادی داشته باشند.

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

مثالها

خودتان آزمایش کنید

یک شی جاوا اسکریپت مجموعه ای از مقادیر نامگذاری شده است


خصوصیات شیء

مقادیر نامگذاری شده ، در اشیا جاوا اسکریپت ، ویژگی نامیده می شوند .

ویژگیمقدار
نام کوچکعلی
نام خانوادگیرستمی
سن50
رنگ چشمقهوه ای

اشیایی که به عنوان جفت نام-مقدار نوشته می شوند مشابه موارد زیر هستند:

  • آرایه های انجمنی در PHP
  • واژه نامه ها در پایتون
  • جداول هَش در C
  • نقشه های هَش در جاوا
  • هَش ها در روبی و پرل

متد های شی

متد ها اعمالی هستند که می توانند روی اشیا انجام شوند.

خصوصیات شی می تواند هم مقادیر ابتدایی باشد ، هم سایر اشیا، و هم توابع.

یک متد شیء در واقع یک خاصیت از شیء است که حاوی تعریف تابع است.

ویژگیمقدار
نام کوچکعلی
نام خانوادگیابراهیمی
سن50
رنگ چشمقهوه ای
نام و نام خانوادگیfunction(){return this.firstName +""+this.lastName;}

اشیا جاوا اسکریپت ظرف هایی برای مقادیر نامگذاری شده هستند که به آنها ویژگی و متد گفته می شود.

در درس های بعدی درباره متد ها بیشتر خواهید آموخت.


ایجاد یک شی جاوا اسکریپت

با جاوا اسکریپت می توانید اشیا خود را تعریف و ایجاد کنید.

روش های مختلفی برای ایجاد اشیا جدید وجود دارد:

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

در ECMAScript 5 ، یک شی همچنین می تواند با تابع Object.create() ایجاد شود .


استفاده از یک شیء واقعی

این ساده ترین راه برای ایجاد یک شی جاوا اسکریپت است.

با استفاده از یک آبجکت واقعی ، هم یک شی را در یک عبارت تعریف می کنید و هم ایجاد می کنید.

یک شیء واقعی لیستی از جفت های نام : مقدار است، (مانند سن: 50) در داخل آکولاد {}.

مثال زیر یک شی جاوا اسکریپت جدید با چهار ویژگی ایجاد می کند:

مثالها

خودتان آزمایش کنید

فاصله و خط های خالی مهم نیست. یک تعریف شی می تواند چندین خط را در بر بگیرد:

مثالها

خودتان آزمایش کنید

با استفاده از کلید واژه new جاوا اسکریپت

مثال زیر همچنین یک شی جاوا اسکریپت جدید با چهار ویژگی ایجاد می کند:

خودتان آزمایش کنید

دو مثال فوق دقیقاً همان کار را انجام می دهند. نیازی به استفاده از new Object() نیست .
برای سادگی ، خوانایی و سرعت اجرا ، از روش اول استفاده کنید (روش واقعی شی).


اشیا جاوا اسکریپت قابل تغییر هستند

اشیا قابل تغییر هستند: برای دسترسی به اشیا از مرجع استفاده می شود نه مقدار.

اگر person یک شی باشد ، عبارت زیر نسخه ای از person ایجاد نمی کند. بلکه آدرس person در x ذخیره می شود و x به شی person اشاره دارد:

بعبارتی دیگر شی x یک کپی از person نیست. بلکه هردو شی x و person یکی هستند.

هر تغییری در x در person نیز انجام خواهد شد، زیرا x و person یک شی هستند.

مثالها

خودتان آزمایش کنید

منبع : W3Schools.com


دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *