recent
أخبار ساخنة

ايه الفرق بين ال Object From Class و Object literal في ال JS

Mohamed Mehdawy
الصفحة الرئيسية

 - في مذاكرتك لل JS هيعدي عليك مصطلح ال Object وتقدر تنشيء Object عن طريق Class او بإستخدام ال Object literal عن طريق ال {} , بس كدا اي الفرق بينهم وامتي اقدر استخدم كل واحد منهم ؟ 



- بس قبل ما نشوف ازاي نقدر ننشيء Object تعال نفهم الاول مصطلح ال Object ,وهو  لما بيكون عندي data و  (methods)functionality ومحتاج يكون في ربط بينهم بمعني لو حطيتهم في صندوق فأنا اقدر اوصل لل data و methods بمجرد ما وصلت للصندوق الي حطيتهم فيه لانهم موجودين في مكان واحد وهو دا ببساطة مفهوم ال Object.

----------------------------------------------------------------------------------

- وتعال نعرف ازاي نقدر ننشيء Object في ال JS والطريقة الاولي عن طريق اني بنشيء Class وبمفهوم بسيط فأنا بنشيء زي مخطط ازاي هيتم الربط بين الData و methods ببعضها وبعدها بقدر اخرج بنسخ كتير من ال Class والنسخ دي بتتسمي Objects و بمعني تاني ان الكلاس بيكون عبارة عن قالب اقدر اخرج منه بأكتر من ال Object .

 -- ودا مثال بإستخدام لغة JS:

- الاول هنشيء Class وهيكون بيعبر عن ال Person, هيكون في data وهتكون عباره عن الاسم والعمر و methods انه بيقول مرحبا.

class Person {
  constructor(name, age) {
    this.name = name;
    this.age = age;
  }

  sayHello() {
    console.log(Hello, my name is ${this.name} and I am ${this.age} years old.);
  }
}

const personObj = new Person('John', 30);
personObj.sayHello(); // Output: Hello, my name is John and I am 30 years old. 

- في المثال دا قدرنا نكريت Object  و ال Data وال methods الخاصة بيه اتعلمت عن طريق ال Class وبالتالي فأنا عن طريق ال Object اقدر اوصل لل name الخاص بيه بس كل قيمة بتكون مختلفة عن ال object والتاني حتي لو معمولين عن طريق نفس الClass الفكرة نفسها ان object بياخد نفس الشكل الي اتعمل بيه ال Class مش القيم.

- ففي المثال انا عملت Object وعملت variable سميتة  personObj وهيكون محفوظ فيه مكان  الObject والسطر الي بعدة بما اني عارف مكان ال Object فين في ال Memory عن طريق ال personObj فأنا اقدر اوصل لل method الي جواه والي هي sayHello وبالتالي اتطبع "Hello, my name is John and I am 30 years old" , ومتنساش واحنا بننشيء ال Object فإحنا خلينا الاسم john و العمر 30 وال this keyword زي this.name بتشير لل Object الي انت واقف عنده .

الصورة رقم 1 بتوضح ازاي بيكون شكل ال personObj.

 ----------------------------------------------------------------------------------

- الطريقة التانية الي اقدر انشيء بيها Object عن طريق استخدام  Object literal ودا مثال بيوضح ازاي انشيء Object عن طريقها :

const personObj = {
  name: 'John',
  age: 30,
  sayHello: function() {
    console.log(Hello, my name is ${this.name} and I am ${this.age} years old.);
  }
};

personObj.sayHello(); // Output: Hello, my name is John and I am 30 years old. 


- هنا برضه عملت object وحفظت مكانة في personObj variable وتحت لما وصلت personObj اقدر اوصل sayHello method وبالتالي نفذ الكود الي جوه ال method وطبع "Hello, my name is John and I am 30 years old"




-- طب كدا اي الفرق بينهم ؟

- الطريقة الاولي لو محتاج اعمل اكتر من Object بنفس الشكل يبقي هعمل ال Object عن طريق ال Class لكن لو محتاج بس Object واحد يبقي هستخدم ال Object literal

----------------------------------------------------------------------------------

- ودي كانت دردشة بسيطة عن اي الفرق بين بين ال Object From Class و Object literal في ال JS واتمني لو في حاجة مش واضحة تكتبلي في التعليقات.



google-playkhamsatmostaqltradent