freeCodeCamp/guide/arabic/javascript/standard-objects/object/object-freeze/index.md

2.0 KiB

title localeTitle
Object Freeze تجميد الكائن

تجميد الكائن

الأسلوب Object.freeze() بتجميد كائن. سوف يمنعك كائن مجمّد من:

  • إضافة خصائص جديدة إليه
  • إزالة المساهمات الموجودة منه
  • تغيير التعداد أو قابلية التهيئة أو قابلية خصائصه الحالية

بناء الجملة

Object.freeze(obj)

المعلمات

obj

  • الهدف من التجميد.

عائدات

الكائن المجمدة.

ملاحظة مهمة

ستؤدي محاولة إضافة أو إزالة أو تعديل خصائص كائن مجمّد إلى فشل. هذا الفشل إما أن يكون صامتًا أو يرمي TypeError (إذا تم تمكين وضع Strict). بالإضافة إلى ذلك ، Object.freeze() هي عملية ضحلة. هذا يعني أن الكائن المتداخل ، الكائن المجمّد ، قابل للتعديل.

مثال

`// Create your object let person = { name: 'Johnny', age: 23, guild: 'Army of Darkness', hobbies: ['music', 'gaming', 'rock climbing'] }

// Modify your object person.name = 'John' person.age = 24 person.hobbies.splice(1,1) delete person.guild

// Verify your object has been modified console.log(person) // { name: 'John', age: 24, hobbies: ['music', 'rock climbing']

// Freeze your object Object.freeze(person)

// Verify that your object can no longer be modified person.name = 'Johnny' // fails silently person.age = 23 // fails silently console.log(person) // { name: 'John', age: 24, hobbies: ['music', 'rock climbing']

// The freeze is "shallow" and nested objects (including arrays) can still be modified person.hobbies.push('basketball') consol.log(person.hobbies) // ['music', 'rock climbing', 'basketball'] `

معلومات اكثر:

وثائق MDN