استفاده از حلقهها برای مشخصات یک شی در جاوا اسکریپت
افزودن و حذف یک شی در جاوا اسکریپت
چگونه یک شی در جاوا اسکریپت بسازیم؟
ساخت شی در جاوا اسکریپت با استفاده از object constructor
زبان برنامه نویسی جاوا اسکریپت از آن دسته از زبانهای برنامه نویسی است که همه چیز در آن به اشیا یا همان objectها بستگی دارد، در واقع شی در جاوا اسکریپت حرف اول را میزند. اگر قصد برنامه نویسی با استفاده از جاوا اسکریپت را دارید باید با شی در جاوا اسکریپت آشنا شوید. در این مطلب قصد داریم کمی بیشتر درباره شی گرایی در جاوا اسکریپت صحبت کنیم.
اگر شما هم به مباحث جاوا اسکریپت علاقهمند هستید پیشنهاد میکنیم در دوره آموزش جاوا اسکریپت سون لرن شرکت کنید
انواع object در جاوا اسکریپت
به صورت کلی شی در جاوا اسکریپت را میتوان به صورت زیر دسته بندی کرد:
متغیرهای بولی در جاوا اسکریپت در واقع یک شی در جاوا اسکریپت هستند، به صورت کلی تمامی دادههای اولیه از جمله متغیرهای بولی، متغیرهای عددی، متغیرهای رشته ای و ... یک شی در جاوا اسکریپت محسوب میشوند. متغیر تاریخ همواره یک شی است، متغیرهای ریاضی یا همان Math در جاوا اسکریپت یک شی به شمار میآیند، regular expression همواره یک شی هستند، آرایهها شی محسوب میشوند، توابع یک شی در جاوا اسکریپت هستند، خود Objectها یک شی در جاوا اسکریپت محسوب میشوند.
یک مثال از تعریف شی در جاوا اسکریپت
اگر قصد دارید با تعریف یک شی در جاوا اسکریپت آشنا شوید، بهتر است مثال زیر را در نظر بگیرید:
<script>
Var person = “ John Doe” ;
Document.getElementById( “demo” ).innerHTML = person ;
</script>
اشیا را نیز میتوان به عنوان متغیر در جاوا اسکریپت در نظر گرفت، با این تفاوت که شی میتواند چندین مقدار را در خود نگه دارد و مقادیر را به صورت جفتهای name: value نوشته میشود. یا به عنوان مثالی دیگر قطعه کد زیر را در نظر بگیرید:
<script>
Var person = {
first Name: “John” ,
last Name: “Doe” ,
age: 50,
eye Color: “blue”
};
Document.getElementById( “demo” ).innerHTML = person.firstName + “ “ + person.lastName;
</script>
Propertyهای یک شی در جاوا اسکریپت
یک شی میتواند چندین خواص یا property داشته باشد، در واقع این خواص، خاصیت هایی هستند که به یک شی متصل شده اند و شما با استفاده از این اشیا میتوانید به همین خواص دسترسی داشته باشید. برای دسترسی به خواص یک شی در زبان برنامه نویسی جاوا اسکریپت چند روش وجود دارد که در ادامه برخی از این روشها را بیان میکنیم.
یکی از این روشها دسترسی به خواص یک شی از طریق دات یا همان نقطه میباشد، برای این کار میتوان دستور زیر را در نظر گرفت:
ObjectName.property
به عنوان مثال person.age
روش دیگر برای این کار استفاده از براکت میباشد، برای انجام این کار دستور زیر را در نظر بگیرید:
objectName[ “property” ]
به عنوان یک مثال از این دستور person[ “age”] را در نظر گرفت.
روش آخر برای دسترسی به یک خاصیت از طریق یک شی در جاوا اسکریپت میتوان دستور زیر را در نظر گرفت:
objectName[expression]
برای یک مثال از این دستور میتوان مثال زیر را در نظر گرفت:
X= “age” ; person[x]
استفاده از حلقهها برای مشخصات یک شی در جاوا اسکریپت
یکی دیگر از خصوصیتهای فوق العاده ای که یک شی در جاوا اسکریپت دارد این است که میتوانید یک شی را مشخص کنید و تمامی Propertyهای آن را از طریق یک حلقه فور بدست بیاورید. ساختار نگارشی این دستور به شکل زیر میباشد:
for( variable in object) {
code to be executed
}
این کد به ازای هر خاصیتی که که در شی باشد یک بار اجرا میشود و شما میتوانید به این خاصیت دسترسی داشته باشید، برای این که بهتر با این مفهوم آشنا شوید میتوانید مثال زیر را در نظر بگیرید:
Var person = { name: “John” , name: “Does” , age:25};
for (x in person) {
txt += preson[x] ;
}
افزودن و حذف یک شی در جاوا اسکریپت
اگر قصد اضافه کردن یک ویژگی و خاصیت جدید به شی خود را دارید میتوانید به صورت زیر این کار را انجام دهید، فرض کنید شی person را دارید:
Person.nationality = “English” ;
اگر قصد دارید یک ویژگی و خاصیت را از مجموعه خاصیتهای یک شی حذف کنید نیز میتوانید به صورت زیر این کار را انجام دهید:
var person = {firstName: “john” , lastName: “Doe” , age: 50, eyeColor: “blue” };
delete person.age; // or delete person[“age”];
چگونه یک شی در جاوا اسکریپت بسازیم؟
یکی از برترین ویژگیهای جاوا است که میتوانی یک شی برای خود بسازید و از آن استفاده کنید، راههای گوناگونی برای ساخت یک شی در جاوا اسکریپت وجود دارد که در ادامه این مطلب سه مورد از آنها را بررسی خواهیم کرد:
یکی از روشهای ایجاد یک شی در جاوا اسکریپت استفاده از object literal برای این کار است، روش دیگر استفاده از کلید واژه new است و روش آخر نیز استفاده از کانستراکتور میباشد. استفاده از object literal برای ساخت یک شی جدید به صورت زیر است:
<script>
Var person = { firstName: “john” , lastName: “Doe” , age: 50, eyeColor: “blue” } ;
Document.getElementById( “demo” ).innerHTML =
Person.firs Name + “ is “ + person.age + “ years old.” ;
</script>
حال برای ایجاد یک شی با استفاده از کلید واژه new نیز به طریق زیر عمل میکنیم:
<script>
Var person = new Object( );
Person.first Name = “John” ;
Peson.last Name = “Doe” ;
Person.age = 50;
Person.eye Color = “blue” ;
Document.getElementById( “demo” ).innerHTML =
Person.firstName + “ is “ + person.age + “ years old. “ ;
</script>
در واقع دو روش گفته شده هر دو یک کار خاص را انجام میدهند و فقط نحوه انجام آنها متفاوت میباشد.
ساخت شی در جاوا اسکریپت با استفاده از object constructor
در دو روشی که قبلا گفتیم شما فقط میتوانید هر دفعه یک شی بسازید ولی در این روش یاد میگیرید که با ساخت یک object type اشیا بسیار زیادی را بسازید.
<script>
Function person(first, last, age, eye) {
this.firstName = first;
this.lastName = last;
this.age = age;
this.eye Color = eye;
}
Var my Father = new person ( “ John ”, “ Doe ” , 50, “ blue ”);
Var myMother = new peron ( “ Sally ”, “ Rally ”, 48, “ green ”);
Document.getElementById ( “ demo ” ).innerHTML =
“My father is “ + my Father.age + “ . My mother is “ + my Mother.age;
</script>