‎‎اشياء در جاوااسكريپتJavaScript Objects -‎

Previous >    <Next  

‎Real Life Objects,Properties, and Methods‎

‎‎اشياء واقعي زندگي ،ويژگي ها ومتدها

‎در زندگي واقعي يك ماشين يك شئ ميباشد .يك ماشين داراي مشخصات مثل وزن، رنگ و متد مثل شروع ‎حركت وتوقف مي باشد .مشخصات همان ويژگي شئ است.

Object Properties Methods

car.name = Fiat

car.model = 500

car.weight = 850kg

car.color = white

car.start()

car.drive()

car.brake()

car.stop()

‎‎همه ماشين ها داراي ويژگي يكسان هستند، اما مقادير ويژگي ها ازماشين به ماشين تفاوت دارد.

‎‎همه ماشين هاي داراي متد مشابهي هستند، اما متدها ها در زمانهاي مختلف انجام ميشود.

‎‎اشياء جاوااسكريپتJavaScript Objects -‎

‎‎قبلا مطرح شده كه متغيرها، محفظه اي براي نگهداري داده است.

‎‎كد زير مقدارساده اي را‎(Fiat)‎ به متغيري بنامcar نسبت يا درآن قرار ميدهد .

let car = "Fiat";

--(go to editor for change code and run)

‎اشياء همچنين متغير هستند، اما چندين مقدار در خود ذخيره ميكنند .كد زير چند مقدار (Fiat,500,white) ‎را به متغيرcar نسبت ميدهد.

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

--(go to editor for change code and run)

‎مقادير در زوج‎name:value‎ نوشته ميشوند .مابينname وvalue علامت كالن ‎(‎:‎)‎‎قرار ميگيرد .

‎‎روش معمول اعلام شئ با كي ورد‎const‎ ميباشد .

‎براي اطلاعات بيشتر در مورد كي ورد‎const>‎ به بخش jS Const ‎مراجعه كنيد.

‎‎تعريف شئObject Definition -‎

‎يك شئ جاوااسكريپت را ميتوان با كي ورد‎const>‎ تعريف يا ايجاد نمود، مشابه يك ‎شئ ليترالي.

‎‎مثال ـ تعريف شئ

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

--(go to editor for change code and run)

‎‎فضاي خالي يا شكست خط در تعريف اشكالي ندارد، تعريف ميتواند در چندين خط نوشته شود.

‎‎مثال ـ تعريف شئ در جند خط

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

--(go to editor for change code and run)

‎‎ويژگي هاي شئObject Properties -‎

‎زوج‎name:values‎ را در شئ جاوااسكريپت، ويژگي ‎(propreties)‎ ‎مي نامند .جدول زير اين ويژگي ها را براي شئperson بيان ميكند .

‎‎ويژگي‎(property)‎‎مقدار ويژگي‎(Property Value)
‎fistName‎ ‎John‎
‎lastName‎ ‎Doe‎
‎age‎ ‎‎50‎
‎eyeColor‎ ‎blue‎

‎‎دسترسي به ويژگي هاي شئAccessing Object Properties -‎

‎‎ميتوان بدو روش به ويژگي هاي شئ دسترسي پيدا كرد .مطابق زير:

objectName.propertyName

‎‎يا

objectName["propertyName"]

‎‎مثال ـ دسترسي نوع اول روي شئperson

person.lastName;

--(go to editor for change code and run)

‎‎مثال ـ دسترسي نوع دوم روي شئيperson

person["lastName"];

--(go to editor for change code and run)

‎اشياء جاوااسكريپت محفظه هائي براي نگهداري نام ويژگي‎(named)‎ و مقدار ويژگي ‎(value)‎‎كه ويژگي ها ‎(preperties)‎ ناميده ميشوند، هستند .

‎‎متدهاي شئObject Methods -‎

‎اشياء ميتوانند هم متدهائي داشته باشند .متدها اعمالي هستند كه روي شئ ميتوان انجام داد.متدها ‎در ويژگي تعاريف تابع(methodName: function()‎ { code}) ‎در شئ قرار ميگيرد.

‎‎جدول كامل شئperson با توجه به متدآن

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

‎‎براي شئperson متدي بنامfullName تعريف شده كه نام كامل را برگشت ميدهد.

‎‎مثال ـ شئperson با متد fullName

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

‎در مثال بالا كي ورد‎this ‎به شئperson اشاره دارد . يعنيthis.firstName بمعني person.firstName‎ميباشد .

‎‎كي وردthis چيست ‎What is this?‎ -‎

‎در جاوااسكريپت كي ورد‎this‎ ارجاع به شئ را دارد .شئ همانست كه متدش فراخوان ‎ميشود .يعني كي ورد فوق به اشياء مختلف اشاره دارد، كه وابسته به متد شئ ميباشد.

‎‎كي ورد‎this‎ براي موارد زير استفاده ميشود .

‎توجه ـ‎this‎ نمي تواند بعنوان متغير باشد .آن يك كلمه رزرو شده است .نمي توان ‎مقدار آن را تغييرداد.

‎‎كي وردthis

‎‎در تعريف تابع‎this‎ به مالك تابع ارجاع دارد .

‎در مثال بالا كي ورد‎this‎ به شئ person ارجاع ميكند، كه مالك متد fullName ‎است.

‎‎دسترسي به متدهاي شئAccessin Object Methods -‎

‎‎ميتوان با الگوي زير به متدهاي شئ دسترسي پيدا كرد.

objectName.methodName()

‎‎مثال ـ استفاده از متدشئperson

name = person.fullName();

--(go to editor for change code and run)

‎اگر بدون عملگر‎( )‎ به متد دسترسي داشته باشيد يا آنرا فراخوان كنيد، تعريف تابع ‎برگشت ميشود.

‎‎مثال ـ دسترسي به تعريف متد شئperson

name = person.fullName;

--(go to editor for change code and run)

Do not Declare Strings , Numbers, nd Booleans as Objects!

‎‎هرگز رشته ها، اعداد وبولين ها را بعنوان شئ تعريف نكنيد

‎هنگاميكه يك متغير جاوااسكريپت با كي ورد‎new‎ تعريف ميشود، آن بعنوان يك شئ ‎ايجاد ميگردد.

x = new String();        // Declares x as a String object
y = new Number();        // Declares y as a Number object
z = new Boolean();       // Declares z as a Boolean object

‎از اشياء‎strig , number ,boolean ‎ دوري كنيد، آنها كد شمارا پيچيده كرده و ‎سرعت اجرا را كاهش ميدهند.

‎‎در ادامه در فصلهاي بعدي مطالب بيشتري در مورد اشياء مشاهده ميكنيد.


Previous >    <Next