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

ما الفرق بين Object.create و Object.assign في جافاسكريبت؟

Mohammed Hhhh

السؤال

Recommended Posts

  • 0

كلاهما يستخدم لنسخ البيانات، وكما تدل أسماء تلك التوابع:

  • التابع create سيُنشئ كائنًا جديدًا يمتلك نفس prototype الكائن الممرر له.
  • التابع assign سيُعيِّن الخصائص الممررة له كمعامل ثاني إلى الكائن الممرر كمعامل أول. 

الاختلاف بين إنشاء كائن جديد، وبين نسخ خصائص إلى كائن موجود فعلًا، يتوضح عند اختبار تساوي مرجعية الكائنات باستخدام معامل المساواة ===،

مثال باستخدام create:

var person = { name: 'بلال' };
var person2 = Object.create(person, {age: {value: 27}});

console.log(person === person2) //false

مثال باستخدام assign:

var person = { name: 'بلال' };
var person2 = Object.assign(person, {age: {value: 27}});

console.log(person === person2) //true

يمكنك الاستفادة من قراءة المقالات التالية:

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...