تعداد بازدید: 2031

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

اشیا در زبان جاوا اسکریپت از اهمیت بالایی برخوردار است به گونه ای که می توان گفت زبان جاوا اسکریپت از المان هایی مبتنی بر اشیا ساخته شده است.

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

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

ساختار کلی اشیا در زبان جاوا اسکریپت

اشیا از مجموعه ای از property تشکیل شده است ، هر property متشکل از یک کلید (key) وی یک مقدار (value) می باشد که در ادامه بحث به طور کامل به توضیح آن ها می پردازیم.

اشیا در جاوا اسکریپت مجموعه ای از کلید ها و مقدار ها هستند (name and value)

یک سری اشیا در مرورگر شما به صورت پیشفرض ساخته شده است که شما می توانید از آنها استفاده کنید. همچنین شما این قابلیت را خواهید داشت تا اشیا جدیدی بر اساس نیاز های خودتان تعریف کنید.

مفهوم کلی اشیا

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

اشیا در زبان های برنامه نویسیاشیا در دنیای واقعی

به طور مثال شما یک فنجان قهوه را در نظر بگیرید. یک فنجان قهوه شامل ویژگی های زیادی از قبیل رنگ فنجان ، شکل کلی فنجان ، محتویات درون آن و … می تواند باشد. اگر فنجان را یک شی در زبان برنامه نویسی تصور کنید ویژگی های فنجان نظیر رنگ و یا شکل یک property هستند که با کلید رنگ و مقدار سفید به شی فنجان اضافه گردیده است.

اشیا متغیر هایی هستند با امکانات بیشتر و بزرگتر

یک متغیر را در نظر بگیرید امکاناتی که یک متغیر به در اختیار شما قرار می دهد چه چیزهایی هستند. شما می توانید به وسیله یک متغیر مقادیر مختلفی را با ماهیت های مختلف نظیر آرایه ، رشته ، عدد و … بصورت محلی و کلی ذخیره کنید.

اشیا متغیر های بزرگتری هستند که به مراتب کارآمدتر از متغیر های معمولی هستند . انواع مقادیری که اشیا می توانند در خود ذخیره کنند می تواند پیچیده تر از متغیر های معمولی باشد.

بطور مثال اشیا متغیر هایی هستند که می توانند متغیرهای دیگری را در خود ذخیره کنند.(منظور از متغیر همان property هایی هستند که قابلیت تغییر دارند )

property ها در اشیا

همان طور که از قبل گفته بودیم property ها مجموعه ای از کلید ها و مقدار ها هستند که در شی وجود دارند. property ها را می توان به همان متغیر هایپ ساده در زبان جاوا اسکریپت تشبیه کرد با این تفاوت که آن ها به یک شی متصل شده اند.

property ها بسیاری از شاخصه های یک شی را معرفی می کنند. به طور مثال رنگ و جنس بدنه برای فنجان.

اگر اشیا را کمی به دنیای برنامه نویسی نزدیک تر کنیم ، برای یک شی فایل می توان property های زیر را  در نظر گرفت :

 VALUE  KEY
 gnutec.png  name
 12344523 size
 image/png  type

دسترسی به property در زبان جاوا اسکریپت

برای دسترسی به property ها می توان از نام آنها به همراه کاراکتر . استفاده کرد. به قالب زیر توجه فرمایید.

objectName.propertyName

نحوه تعریف یک شی در جاوا اسکریپت

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

  • ساخت شی با استفاده از object initializers
  • ساخت شی با استفاده از constructor function (تابع سازنده)
  • ساخت شی با استفاده از Built-in JavaScript Constructors

ساخت شی با استفاده از object initializers

در این روش شما می توانید با استفاده { } یک شی درست کنید. این روش ساده ترین روش ساخت شی است . به قالب زیر توجه کنید:

var obj = { property_1:   value_1,   // property_# may be an identifier...
            2:            value_2,   // or a number...
            // ...,
            'property n': value_n }; // or a string

حال به این مثال توجه کنید:

var file = {
	name : "gnutec.png",
	size : "1543523",
	type : "image/png"
};

ساخت شی با استفاده از constructor function (تابع سازنده)

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

function file(name,size,type){
	this.name = name;
	this.size = size;
	this.type = type;
}
var file1 = new file("gnutec.png" , "3423423" , "image/png");

ساخت شی با استفاده از Built-in JavaScript Constructors

این روش مثل روش قبل است با این تفاوت که در روش قبل ما باید تابع ا ایجاد می کردیم اما در این روش با استفاده از تابع سازنده پیش فرض جاوا اسکریپت در مرورگر این کار را انجام می دهیم.

پس از ساخت شی می توانیم property های خود را در شی قرار دهیم. نحوه دسترسی به یک property با استفاده از شی که در قدیم ساخته شده بود پیشتر در همین مقاله بررسی شد.

به مثال زیر توجه کنید:

var object = new Object();
object.name = "gnutec.png";
object.size = "74231786";
object.type = "image/png";
console.log(object);
var date = new Date();
console.log(date);
var string = new String("gnutec.png");
console.log(string);
var number = new Number(12);
console.log(number);
var bool = new Boolean(true);
console.log(bool);
var array = new Array("rng","rms","dmr");
console.log(array);
var regex = new RegExp("[a-z]*");
console.log(regex); 
var func = new Function();
console.log(func);

نتیجه بدست آمده از قطعه کد بالا به شرح زیر است :

Object { name: "gnutec.png", size: "74231786", type: "image/png" }
default-js-constructor.html:14:3
default-js-constructor.html:16:3
String { "gnutec.png" }
Number { 12 }
Boolean { true }
Array [ "rng", "rms", "dmr" ]
/[a-z]*/
function anonymous()

نکته مهم : دلیل موجهی برای ساخت المان های مورد نیاز نظیر رشته شی ، عبارت منظم و … وجود ندارد . شما می توانید با استفاده از ساختار های اولیه جاوا اسکریپت این المان ها را ایجاد کنید.

 var x1 = {};            // new object
var x2 = "";            // new primitive string
var x3 = 0;             // new primitive number
var x4 = false;         // new primitive boolean
var x5 = [];            // new array object
var x6 = /()/           // new regexp object
var x7 = function(){};  // new function object

نکته پایانی : استفاده از ساختار های پیش فرض جاوا اسکریپت بسیار سریع تر از اشیا است . پس تا زمانی که نیاز به استفاده از اشیا را حس نکرده اید از ساختار های پیش فرض استفاده کنید.

مطالب مشابه

Javascript Symbol

در جاوا اسکریپت ما دو دسته داده داریم . دسته اول Primitive است و دسته دوم non-primitive است. داده های از نوع Primitive...

Obeject Data Structure in JavaScript

هر زبان برنامه نویسی از دو ساختار اصلی تشکیل شده است . بخش اول (Data Structure) ساختمان های داده آن و بخش دوم لیست...

Map Standard Build-in Object

در جاوا اسکریپت همه چیز شئ‌ است . هر زمان که لازم باشد یک امکان جدید در اختیار شما شما قرار بدهد یک شئ استاندارد برای...

اشتراک گذاری :

مدیر وب سایت گنوتک . برنامه نویسی رو با زبان C در هفده سالگی شروع کردم . در حال حاضر به برنامه نویسی php برپایه معماری MVC , HMVC و همچنین سیستم مدیریت محتوای WordPress و فریم ورک محبوب لاراول علاقه مند هستم و دوست دارم اطلاعاتم رو با شما به اشتراک بگذارم.

۰ دیدگاه برای اشیا در زبان جاوا اسکریپت

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

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