زبان جاوا اسکریپت قابلیت برنامهنویسی شیءگرا دارد، ولی باید در نظر داشت که این زبان اساساً برای برنامهنویسی شیءگرای واقعی ساخته نشده است. در حقیقت، جاوا اسکریپت قابلیت برنامهنویسی تابعی دارد و توابع در آن از انواع دادهای اصلی محسوب میشوند. بر این اساس، نباید تلاش کرد جاوا اسکریپت را با روشهای برنامهنویسی که مثلاً برای زبان جاوا مناسب هستند، منطبق کرد. با این وجود، فهمیدن ویژگیهای توارث و شیءگرایی در جاوا اسکریپت اهمیت زیادی دارد.
در جاوا اسکریپت اشیا یکی از انواع دادهای هستند. هر شیء دارای یک پیشنمونه (پروتوتیپ) است که تمام خصلتها و متدهای آن را به ارث میبرد، مگر آنکه خود شیء برای آنها تعریف جدیدتری ارائه کند.
بر این اساس، توارث در جاوا اسکریپت بر اساس زنجیرهی پروتوتیپ صورت میگیرد. هر تابع سازنده دارای یک خصلت پروتوتیپ است. وقتی که با استفاده از آن تابع سازنده یک شیء نمونهی جدید ساخته میشود، شیئی که در خصلت پروتوتیپ تابع سازنده ذخیره شده است، بهعنوان پروتوتیپ شیء نمونه منظور میشود.
در نسخههای جدید جاوا اسکریپت، کلیدواژهی کلاس نیز به زبان اضافه شده است، بهطوریکه امکان تعریف کردن کلاس به روشی کمابیش شبیه زبانهای شیءگرا (مانند جاوا) در جاوا اسکریپت نیز فراهم شده است.
nice post
thanks for sharing
sepas
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit