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 در هر دو
ادامه موضوعات مرتبط را در فصلهای بعدی یاد خواهید گرفت.
برای ارسال نظر لطفا ابتدا وارد حساب کاربری خود شوید. صفحه ورود و ثبت نام