mirror of
https://github.com/freeCodeCamp/freeCodeCamp.git
synced 2026-01-27 06:13:17 -05:00
2.0 KiB
2.0 KiB
title, localeTitle
| 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']