JavaScript:اشیاء (object) در جاوااسکریپت
نسخهای که میبینید نسخهای قدیمی از صفحهاست که توسط Admin (بحث | مشارکتها) در تاریخ ۸ آبان ۱۳۹۸، ساعت ۱۵:۱۲ ویرایش شده است. این نسخه ممکن است تفاوتهای عمدهای با نسخهٔ فعلی بدارد. |
محتویات
اشیاء دنیای واقعی، ویژگیها و متدها
در زندگی واقعی، اتومبیل یک شیء است.
یک اتومبیل ویژگیهایی مانند: وزن و رنگ دارد و متدها یا رفتارهایی مانند روشن شدن و خاموش شدن دارد:
شیء | ویژگی | متد یا رفتار |
---|---|---|
![]() |
car.name=fiat | car.start() |
car.model=500 | car.drive() | |
car.weight=850kg | car.brake() | |
car.color=white | car.stop() |
اتومبیلها ویژگیهای یکسانی دارند، اما مقادیر ویژگیها در هر اتومبیل متفاوت از سایر اتومبیلها است.
تمامی اتومبیلها رفتارها یا متدهای یکسانی دارند، اما متدها در هر اتومبیل در زمانهای متفاوتی اجرا میشوند.
اشیاء در جاوااسکریپت
شما تا الان یادگرفتید که متغیرها در جاوااسکریپت محلهایی برای ذخیره انواع داده هستند.
کد زیر، یک متغیر با نام car را با مقدار ساده (fiat) مقدار دهی میکند:
var car = "Fiat";
Objects are variables too. But objects can contain many values.
اشیاء هم متغیر هستند، اما اشیاء میتوانند چندین مقدار داشته باشند.
کد زیر یک متغیر با نام car را با چندین مقدار (fiat، ۵۰۰، سفید (به انگلیسی: White) مقداردهی میکند.
var car = {type:"Fiat", model:"500", color:"white"};
این مقادیر به صورت نام: مقدار یا name:value نوشته میشوند (نام و مقدار به وسیلهٔ یک:
از یک دیگر جدا میشوند).
JavaScript objects are containers for named values called properties or methods.
شیها در جاوااسکریپت محلی برای ذخیرهٔ مقادیر نام دار که ویژگی یا properties یا متد یا رفتار نامیده میشوند، استفاده میشود.
Object Definition
تعریف شی در جاوااسکریپت
You define (and create) a JavaScript object with an object literal:
شما میتوانید یک شی را همانند مثال زیر تعریف کنید. (یا بسازید)
Example
var person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
Spaces and line breaks are not important. An object definition can span multiple lines:
فاصلههای خالی و فاصله بین خطوط در هنگام تعریف شی در جاوااسکریپت اهمیتی ندارند. تعریف شی میتواند در چندین خط صورت بپذیرد:
Example
var person = {
firstName: "John",
lastName: "Doe",
age: 50,
eyeColor: "blue"
};
Object Properties
ویژگیهای اشیاء
The name:values pairs in JavaScript objects are called properties:
در جاوااسکریپت به ترکیب مقادیر به صورت نام: مقدار یا name:value، ویژگی گفته میشود:
ویژگی | مقدار ویژگی |
Firstname یا نام | John |
Lastname یا نام خانوادگی | Doe |
Age یا سن | ۵۰ |
Eyecolor یا رنگ چشم | آبی |
Accessing Object Properties
دسترسی به ویژگیهای یک شی
A method is a function stored as a property.
یک متد یک تابع است که به صورت یک ویژگی ذخیره شدهاست.
Example
var person = {
firstName: "John",
lastName: "Doe",
id: 5566,
fullName: function() {
return this.firstName + " " + this.lastName;
}
};
The this Keyword
کلمه کلیدی this
In a function definition, this
refers to the "owner" of the function.
در یک تابع، کلمه کلیدی this به «صاحب» تابع اشاره دارد.
In the example above, this
is the person object that "owns" the fullName
function.
در مثال بالا، this به شی person اشاره دارد که صاحب تابع fullname است.
In other words, this.firstName
means the firstName
property of this object.
به معنای دیگر، this.firstname به این معنی است که firstname ویژگی ای از این شی است.
Read more about the this
keyword at JS this Keyword.
شما میتوانید مطالب بیشتری را در مورد کلمه کلیدی this در فصل کلمه کلیدی this بخوانید.
Accessing Object Methods
دسترسی به متدها یا رفتارهای یک شی
You access an object method with the following syntax:
شما میتوانید به متد یک شی به شیوه یا Syntax زیر دسترسی پیدا کنید:
objectName.methodName()
Example
name = person.fullName();
If you access a method without the () parentheses, it will return the function definition:
اگرشما از یک متد بدون پرانتز () استفاده کنید، این امرموجب خواهد شد تا کدهای تابع به عنوان خروجی به شما بازگردانده شود.
Example
name = person.fullName;
Do Not Declare Strings, Numbers, and Booleans as Objects!
رشتههای متنی، اعداد یا بولینها را به صورت شی تعریف نکنید. !
When a JavaScript variable is declared with the keyword "new
", the variable is created as an object:
زمانی که شما یک متغیر در جاوااسکریپت را با کلمه کلیدی "new" تعریف میکنید، این متغیر به صورت یک شی یا object تعریف میشود:
var x = new String(); // Declares x as a String object
var y = new Number(); // Declares y as a Number object
var z = new Boolean(); // Declares z as a Boolean object
Avoid String
, Number
, and Boolean
objects. They complicate your code and slow down execution speed.
بهتر است که از تعریف اشیای از نوع رشتهای یا متنی، از نوع عددی یا بولین جلوگیری کنید. این امر موجب پیچیدهتر شدن کد شما میشود و سرعت اجرای کد شما را نیز کم میکند.
You will learn more about objects later in this tutorial.
شما در فصول آینده مطالب بیشتری را در مورد اشیاء در این آموزش خواهید آموخت.