واصفات خاصية JavaScript

شرح واصفات الخصائص وما هي فائدتها

يحتوي أي كائن في JavaScript على مجموعة من الخصائص ، ولكل من هذه الخصائص امتدادواصف.

هذا كائن يعرّف سلوك الخاصية والخصائص الخاصة.

تتفاعل معها العديد من الأساليب الساكنة للكائن. تشمل هذه الطرق:

فيما يلي مثال على كائن واصف الخاصية:

{
  value: 'Something'
}

هذا هو أبسط واحد.valueهي قيمة الخاصية ، في تعريف قيمة المفتاح. هذهkeyيتم تعريفه على أنه مفتاح الكائن ، عندما تحدد هذه الخاصية في كائن:

{
  breed: {
    value: 'Siberian Husky'
  }
}

مثال:

const animal = {}
const dog = Object.create(animal, {
  breed: {
    value: 'Siberian Husky'
  }
});
console.log(dog.breed) //'Siberian Husky'

يمكنك تمرير خصائص إضافية لتحديد كل خاصية كائن مختلفة:

  • القيمة: قيمة العقار
  • قابل للكتابة: صحيح يمكن تغيير الخاصية
  • شكلي: إذا كانت الخاصية false ، فلا يمكن إزالة الخاصية ولا يمكن تغيير أي سمة باستثناء قيمتها
  • معدود: صحيح إذا كانت الخاصية قابلة للعد
  • احصل على: دالة getter للخاصية ، تسمى عند قراءة الخاصية
  • تعيين: دالة setter للخاصية ، تسمى عند ضبط الخاصية على قيمة

writableوconfigurableوenumerableتعيين سلوك تلك الخاصية. لديهم قيمة منطقية ، وبشكل افتراضي هذه كلهاfalse.

مثال:

const animal = {}
const dog = Object.create(animal, {
  breed: {
    value: 'Siberian Husky',
    writable: false
  }
});
console.log(dog.breed) //'Siberian Husky'
dog.breed = 'Pug' //TypeError: Cannot assign to read only property 'breed' of object '#<Object>'

المزيد من دروس js: