JavaScript – اشیاء (Objects)

اشیاء در جاوا اسکریپت

اشیاء در دنیای واقعی

در دنیای واقعی، اشیاء چیزهایی مثل خانه‌ها، ماشین‌ها، انسان‌ها، حیوانات و یا هر موضوع دیگری هستند.

در اینجا یک مثال از یک شیء ماشین آورده شده است:

شیء ماشین ویژگی‌ها متدها
car.name = Fiat car.start()
car.model = 500 car.drive()
car.weight = 850kg car.brake()
car.color = white car.stop()

ویژگی‌های شیء

یک ماشین در دنیای واقعی ویژگی‌هایی مانند وزن و رنگ دارد:

car.name = Fiat, car.model = 500, car.weight = 850kg, car.color = white.

اشیاء ماشین در جاوا اسکریپت هم همین ویژگی‌ها را دارند، اما مقادیر آن‌ها ممکن است از یک ماشین به ماشین دیگر متفاوت باشد.

متدهای شیء

یک ماشین در دنیای واقعی متدهایی مثل استارت و توقف دارد:

car.start(), car.drive(), car.brake(), car.stop().

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

متغیرهای جاوا اسکریپت

متغیرهای جاوا اسکریپت ظرف‌هایی برای نگهداری مقادیر داده هستند.

این کد یک مقدار ساده (Fiat) را به یک متغیر به نام car اختصاص می‌دهد:

مثال

let car = "Fiat";

اشیاء در جاوا اسکریپت

اشیاء نیز متغیر هستند، اما می‌توانند شامل مقادیر زیادی باشند.

این کد چندین مقدار (Fiat, 500, white) را به یک شیء به نام car اختصاص می‌دهد:

مثال

const car = {type: "Fiat", model: "500", color: "white"};

توجه:
به طور معمول توصیه می‌شود اشیاء را با کلمه کلیدی const تعریف کنید.

تعریف اشیاء در جاوا اسکریپت

می‌توانید اشیاء را به روش‌های زیر تعریف کنید:

  • با استفاده از Object Literal
  • با استفاده از new Keyword
  • با استفاده از Object Constructor

Object Literal در جاوا اسکریپت

یک Object Literal لیستی از جفت‌های نام: مقدار است که داخل {} قرار گرفته‌اند:

{firstName: "John", lastName: "Doe", age: 50, eyeColor: "blue"};

توجه:

  • به این جفت‌ها name:value pairs یا key:value pairs هم گفته می‌شود.
  • object literals همچنین به عنوان object initializers شناخته می‌شوند.

ایجاد یک شیء جاوا اسکریپت

این مثال‌ها یک شیء جاوا اسکریپت با ۴ ویژگی ایجاد می‌کنند:

مثال‌ها:

// ایجاد یک شیء
const person = {firstName: "John", lastName: "Doe", age: 50, eyeColor: "blue"};

یا به صورت زیر با خط‌های جداگانه:

const person = {
  firstName: "John",
  lastName: "Doe",
  age: 50,
  eyeColor: "blue"
};

ایجاد شیء با استفاده از new Keyword

این مثال یک شیء جاوا اسکریپت جدید با استفاده از new Object() ایجاد می‌کند:

مثال:

const person = new Object();
person.firstName = "John";
person.lastName = "Doe";
person.age = 50;
person.eyeColor = "blue";

توجه:
نیازی به استفاده از new Object() نیست. برای خوانایی و سرعت بیشتر، از روش object literal استفاده کنید.

ویژگی‌های اشیاء

مقادیر نام‌گذاری شده در اشیاء جاوا اسکریپت، به عنوان ویژگی شناخته می‌شوند.

ویژگی مقدار
firstName John
lastName Doe
age 50
eyeColor blue

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

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

  • با استفاده از objectName.propertyName
  • با استفاده از objectName["propertyName"]

مثال‌ها:

person.lastName;
person["lastName"];

متدهای اشیاء جاوا اسکریپت

متدها عملیاتی هستند که می‌توانند بر روی اشیاء انجام شوند. متدها، توابعی هستند که به عنوان مقادیر ویژگی ذخیره شده‌اند.

ویژگی مقدار ویژگی
firstName John
lastName Doe
age 50
eyeColor blue
fullName function() { return this.firstName + " " + this.lastName; }

مثال:

const person = {
  firstName: "John",
  lastName : "Doe",
  id       : 5566,
  fullName : function() {
    return this.firstName + " " + this.lastName;
  }
};

در این مثال، this به شیء person اشاره دارد:

  • this.firstName یعنی ویژگی firstName شیء person.
  • this.lastName یعنی ویژگی lastName شیء person.

اشیاء در جاوا اسکریپت، همه چیز هستند

  • اشیاء ظرفی برای ویژگی‌ها و متدها هستند.
  • ویژگی‌ها مقادیر نام‌گذاری شده‌اند.
  • متدها توابعی هستند که به عنوان ویژگی ذخیره شده‌اند.

انواع داده اولیه در جاوا اسکریپت

جاوا اسکریپت ۷ نوع داده اولیه دارد:
string، number، boolean، null، undefined، symbol، bigint.

ویژگی‌های اشیاء تغییرپذیر

اشیاء در جاوا اسکریپت تغییرپذیر هستند. اگر دو متغیر به یک شیء اشاره کنند، هر تغییری روی یکی از آن‌ها، روی دیگری نیز اعمال می‌شود:

مثال:

const person = {firstName: "John", lastName: "Doe", age: 50, eyeColor: "blue"};
const x = person;
x.age = 10; // تغییر age در هر دو

ادامه موضوعات مرتبط را در فصل‌های بعدی یاد خواهید گرفت.

پست های مرتبط

مطالعه این پست ها رو از دست ندین!
JavaScript - تاریخ‌ها (Dates)

JavaScript – تاریخ‌ها (Dates)

آبجکت‌های تاریخ (Date) در جاوااسکریپت آبجکت‌های تاریخ در جاوااسکریپت به ما امکان کار با تاریخ و زمان را می‌دهند....

بیشتر بخوانید
JavaScript - آرایه‌های ثابت (Array Const)

JavaScript – آرایه‌های ثابت (Array Const)

جاوااسکریپت: تعریف آرایه با const در سال 2015، جاوااسکریپت کلمه کلیدی مهمی به نام const را معرفی کرد. این...

بیشتر بخوانید
JavaScript - تکرار آرایه‌ها (Array Iteration)

JavaScript – تکرار آرایه‌ها (Array Iteration)

جاوا اسکریپت: تکرار بر روی آرایه‌ها جاوا اسکریپت روش‌های مختلفی برای تکرار (Iteration) بر روی آرایه‌ها ارائه می‌دهد که...

بیشتر بخوانید

نظرات

سوالات و نظراتتون رو با ما به اشتراک بذارید

برای ارسال نظر لطفا ابتدا وارد حساب کاربری خود شوید.