من میدانم که هیچ نمیدانم.
بررسی اشیاء یا آبجکت (objects) در جاوااسکریپت

در زبان برنامهنویسی جاوااسکریپت به هرطرف نگاه کنید یه شئ یا آبجکت میبینید، مثلا آرایه ها در جاوااسکریپت همواره آبجکت هستند، یا توابع یا مثلا تاریخ آبجکت هستند، یا مثلا اعداد و رشته ها هم میتونن آبجکت باشند ، پس برای اینه که میگن جاوااسکریپت مبتنی بر آبجکت هست. جاوااسکریپت از آن دسته از زبانهای برنامهنویسی است که همه چیز در آن به اشیاء یا همان objectها بستگی دارد، در واقع آبجکت در جاوااسکریپت حرف اول را میزند. اگر قصد برنامه نویسی با استفاده از جاوااسکریپت را دارید باید با شئ در جاوااسکریپت آشنا شوید. در این مطلب قصد داریم کمی بیشتر درباره آبجکت در جاوااسکریپت صحبت کنیم.
یک شئ یا Object در واقع یک متغیر هست
در جلسات قبلی ما یاد گرفتیم که چجوری میتونیم یک متغیر رو تعریف کنیم ، خب خیلی راحت با استفاده از یکی از کلمات کلیدی var let const
میتونیم یک متغیر رو تعریف کنیم.
بفرض مثال میخوایم یک متغیر به نام test تعریف کنیم، پس میتونیم بصورت زیر عمل کنیم :
1const test = "hi"
خب ما یه متغیر بنام test تعریف کردیم و مقدار hi بهش دادیم، تموم شد رفت.
حال میگه یک شئ هم در حقیقت همون متغیر هست و برای نگهداری داده ها استفاده میشه فقط با این تفاوت که این متغیر میتونه ویژگی ( خصوصیات یا property ) + مقدار داشته باشه.
نحوه تعریف شئ در جاوااسکریپت
چندین روش برای ایجاد و تعریف یک شئ Object در زبان جاوااسکریپت وجود داره که این روش ها به شرح زیر می باشند :
- تعریف شئ و خصوصیات در یک عبارت ( ساده ترین روش )
- تعریف شئ و خصوصیات با استفاده از کلمه کلیدی new
- تعریف شئ و خصوصیات با استفاده از سازنده ( یا Constructor ) شئ
تعریف شئ و خصوصیات در یک عبارت ( ساده ترین روش )
تو این روش ما هم خصوصیات هم مقادیر و هم خوده شئ رو در یک عبارت تعریف میکنیم. ( ساده ترین روش همین می باشد )
1const person = { firstName: "Hossein", lastName: "Shahmohammadi", age: 22 };
تعریف شئ و خصوصیات با استفاده از کلمه کلیدی new
1234const person = new Object(); person.firstName = "Hossein" person.lastName="Shahmohammadi" person.age=22;
تعریف شئ و خصوصیات با استفاده از سازنده ( یا Constructor ) شئ
تو این روش باید یه تابع ایجاد کنیم با پارامترهای مشخص ( مثلا برای دانشجو نام و فامیلی و سن و کد میخوایم ) بعدش با استفاده از کلمه کلیدی this
مقدار هر یک از این پارامترهارو ( که میشه همون آرگومانها ) به خوده شئ اختصاص میدیم.
1234567function person(Name, Family, Age) { this.name = Name; this.family = Family; this.age = Age; } const person = new person("Hossein", "Shahmohammadi", 22 );
نحوه نمایش یا فراخوانی خصوصیت (Property) یک شئ
خب ما شئ مون رو تعریف کردیم، حالا چجوری میتونیم به خصوصیات ( یا ویژگی یا Property ) های موجود در این شئ دسترسی داشته باشیم و آنها را فراخوانی و در نهایت در خروجی به نمایش درآوریم.
۲ روش برای فراخوانی یا نمایش خصوصیات اشیاء داریم :
- objectName.property
- objectName[“property”]
مثال از روش اول :
12345const person = { firstName: "Hossein", lastName: "Shahmohammadi", age: 22 }; const name = person.firstName; const family = person.lastName; const age = person.age;
مثال از روش دوم :
12345const person = { firstName: "Hossein", lastName: "Shahmohammadi", age: 22 }; const name = person["firstName"]; const family = person["lastName"]; const age = person["age"];
حلقه for در اشیاء
خب دوستان در ادامه آموزش کار با اشیاء یا Objects در جاوااسکریپت میخوایم با نحوه استفاده از حلقه for
در اشیاء رو یاد بگیریم.
در مثال های بالا همونطور که مشاهده کردید ما برای اینکه بتونیم آیتمهای یک شئ رو در خروجی به نمایش درآوریم، باید تکی تکی انتخاب و در خروجی نمایش دهیم.
ولی خب شاید ما بخوایم تمامی آیتمها ( یا منظور همون ویژگیها ) رو در خروجی به نمایش درآوریم، پس اینجاست که میتونیم با استفاده از دستور ( یا حلقه بهش میگن ) for .. in تمامی ویژگی ها + مقادیر یک شئ رو در خروجی به نمایش درآوریم.
12345678910111213const person= { Name: "Hossein", Family: "Shahmohammadi", Age: 22 }; let result = "" // یک متغیر دلخواه برای نگهداری مقادیر for (let x in person) { result = result + person[x] + " " } console.log(result);
نحوه اضافه کردن ویژگی جدید به شئ
ما میتونیم هر لحظه که بخوایم به دلخواه خودمون ویژگی + مقدار به شئ اضافه کنیم، فقط حواستون باشه که ویژگی جدید باید بعد از خوده شئ قرار بگیرد نه قبل آن.
1234const person = { firstName: "Hossein", lastName: "Shahmohammadi", age: 22 }; person.instagram = "@imhshahdi"// اضافه کردن ویژگی جدید console.log(person.instagram);
نحوه حذف کردن یک ویژگی از شئ
برای حذف یک ویژگی از یک شئ کافیه از کلمه کلیدی delete
استفاده نماییم.
1234const person = { firstName: "Hossein", lastName: "Shahmohammadi", age: 22 }; delete person.firstName; // حذف کردن ویژگی نام delete person.age; // حذف کردن ویژگی سن
متد یا Method در شئ
متدها در واقع عملیاتی هستند که بروی اشیاء ( شئ ) انجام میشه ، و بطور کلی تر بخوایم بگیم متدها یک تابع هستند که به عنوان یک خصوصیت از شئ ذخیره میشوند.
نحوه ایجاد متد در یک شئ – روش اول – داخل شئ
12345678const person = { firstName: "Hossein", lastName: "Shahmohammadi", age: 22, fullName: function() { return this.firstName + " " + this.lastName;// نام و فامیلی رو برمیگردونه } };
نحوه ایجاد متد در یک شئ – روش دوم – خارج از شئ
123456789const person = { firstName: "Hossein", lastName: "Shahmohammadi", age: 22 }; person.fullName = function() { return this.firstName+ " " + this.lastName; // نام و فامیلی رو برمیگردونه };
منبع : free-learn
مطلبی دیگر از این انتشارات
کپی ترید چیست؟
مطلبی دیگر از این انتشارات
تفاوت کارمزد ERC20 و TRC20
مطلبی دیگر از این انتشارات
پلیس چین به دنبال مغز متفکر طرح حرمی زنجیره جادویی است