اذهب إلى المحتوى

السؤال

نشر (معدل)

السلام عليكم ورحمة الله وبركاته هل يوجد طريقة ما لكي نقوم بعمل دالة تعمل object يعني ناخذ اسم الدالة والاشياء الي بنحطها في ال object كبرامتر 

تم التعديل في بواسطة عبود سمير
توضيح السؤال

Recommended Posts

  • 0
نشر

نعم بإمكانك إنشاء دالة الهدف منها إنشاء كائنات و تُسمى هذه الدالة بالباني و عند تنفيذ الدالة لإنشاء كائن نستخدم العامل new:

مثال:
function User(name, age) {
  this.name = name;
  this.age = age;
}

let user = new User("Omar", 20);

console.log(user.name); // Omar
console.log(user.age); // 20

يُمكنك الإطلاع على المقال التالي الذي يشرح الموضوع بإستفاضة:

 

  • 0
نشر

كما وضح عبود فإنه يمكنك إنشاء دالة تقوم بإنشاء كائنات بواسطة المعامل new 

ولكن هناك طريقة أحدث وهي استخدام ال class وهي تعمل مع الإصدار ecmascript 6 لاحظ الكود التالي

class Person {

  constructor(name) {
    this.name = name;
  }

  introduce() {
    console.log(`Hello, my name is ${this.name}`);
  }

}

const ahmed = new Person('Ahmed');

ahmed.introduce();

وتعتبر هذه الطريقة تغيير في كتابة الكود فقط أي في ال syntax ولكن طريقة العمل واحدة في اللغة ولقراءة الموضوع بشكل أكثر تعمقاً يمكنك قراءة هذه المقالة

  • 0
نشر
بتاريخ 1 ساعة قال Omar Montage:

السلام عليكم ورحمة الله وبركاته هل يوجد طريقة ما لكي نقوم بعمل دالة تعمل object يعني ناخذ اسم الدالة والاشياء الي بنحطها في ال object كبرامتر 

انا اقصد انا عندي كلاسين في الكلاس الثاني أريد أن أنشيْ دالة تنشيْ object من الكلاس الأول وأستطيع بعد ذلك أن أتصفح ال object والدخول علي خصائصه

 

  • 0
نشر (معدل)

 

بتاريخ 6 دقائق مضت قال Omar Montage:

انا اقصد انا عندي كلاسين في الكلاس الثاني أريد أن أنشيْ دالة تنشيْ object من الكلاس الأول وأستطيع بعد ذلك أن أتصفح ال object والدخول علي خصائصه

ربما تقصد الوراثة في اللغة لاحظ المثال التالي

class Person {
  constructor(first, last, age, gender, interests) {
    this.name = {
      first,
      last
    };
    this.age = age;
    this.gender = gender;
    this.interests = interests;
  }

}

وللوراثة من هذا الكلاس نقوم باستخدام المعامل extends كالتالي

class Teacher extends Person {
  constructor(first, last, age, gender, interests, subject, grade) {
    super(first, last, age, gender, interests);

    // subject و grade  Personخاصة بالكلاس
    this.subject = subject;
    this.grade = grade;
  }
}
تم التعديل في بواسطة عبدالباسط ابراهيم
خطأ إملائي
  • 0
نشر
بتاريخ 3 دقائق مضت قال Omar Montage:

لا سوف أفهمك الفكرة لدي كلاسين الأول هو الخاص باليوزرز ولكن لا تستطيع أن تنشئ منه كائنات يدب أن تنشأها من كلاس أخر 

الرجاء توضيح سؤالك و استفسارك جيدا و إن كان لديك كود تريد التعديل عليه فالأفضل وضعه في التعليق حتى تحصل على إجابة جيدة

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...