ویژگی های اشیا در JS

یک شی در واقع مجموعه ای از ویژگی ها (properties) است که همین ویژگی ها مهمترین بخش اشیا در جاوا اسکریپت هستند . 

در کل ما میتوانیم مجموعه  ویژگی های یک شی را تغییر دهیم یا به آنها ویژگی جدیدی را اضافه کنیم  یا از آنها ویژگی مشخصی را حذف کنیم . 

دسترسی به ویژگی اشیا در JS

ما در js میتوانیم با چند روش به ویژگی های یک شی دسترسی پیدا کنیم :

 روش اول میتوان ابتدا نام شئ رو نوشت سپس  یک جداکننده نقطه یا دات (.) میگزاریم و در نهایت نام ویژگی را وارد میکنید.

// ویژگی شی . نام شی
person.age;
person.firstname;

 روش دوم میتوان ابتدا نام شی را نوشت و سپس کروشه [ ]  گذاشته و ویژگی را داخل کوتیشن (" ") درون کروشه ، قرار دهید. 

// ویژگی شی" ] نام شی"]
person ["age" ] ;
person ["firstname" ] ;

 روش سوم میتوان نام ویژگی را در متغیر جدید ذخیره کنیم و سپس به وسیله متغیر جدید به ویژگی مورد نظر دسترسی داشته باشیم . 

//در اینجا یک شی با ویژگی مورد نظر ایجاد میکنیم 
const student = {
  firstName: "amir",
}
//سپس نام ویژگی را در متغیر مورد نظر ذخیره کردیم 
let x = "firstName";
//ودر آخر متغیر را درون کروشه بعد از نام شی قرار میدهیم 
student[x] ;

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

 

اضافه کردن ویژگی جدید در JS

می توان با مقدار دادن به یک شی، ویژگی جدیدی به آن اضافه کرد.

person.nationality = "iranian";

حذف کردن ویژگی در JS

با کلمه کلیدی delete یک ویژگی را از یک شی حذف می شود.

const person = {
  firstName: "akbar",
  lastName: "azimi",
  age: 50,
  eyeColor: "blue"
};
//در اینجا ویژگی سن را از شی مورد نظر حذف کردیم 
delete person.age;
const person = {
  firstName: "John",
  lastName: "Doe",
  age: 50,
  eyeColor: "blue"
};

delete person["age"];

 

نکته:   کلمه کلیدی delete هم مقدار ویژگی و هم خود ویژگی را حذف می کند. پس از حذف، ویژگی نمی‌تواند استفاده شود تا زمانی که  مقدار دوباره اضافه شود.

اشیا تو در تو در JS

می توان مقدایر یک اشیا را در اشیا دیگری قرار داد.

myObj = {
  name:"amir",
  age:30,
  myCars: {
    car1:"Ford",
    car2:"BMW",
    car3:"Fiat"
  }
}

 می توان با استفاده از علامت نقطه (.) یا علامت براکت مجعت {} به اشیاء تو در تو دسترسی داشته باشیم.

myObj.myCars.car2;
myObj.myCars["car2"];
myObj["myCars"]["car2"];
let p1 = "myCars";
let p2 = "car2";
myObj[p1][p2];

خلاصه درس

تمرین


مشاهده پاسخ
توسعه دهندگان
احسان اسلامی