Object.freeze()
تجميد كائن (منع التعديل) Object.freeze()
Object.freeze() يمنع أي إضافة أو حذف أو تعديل لخصائص الكائن — يجعله ثابتًا فعليًا وقت التشغيل.
بعكس const التي تمنع فقط إعادة تعيين المتغيّر نفسه (لكن تسمح بتعديل محتوى الكائن)، Object.freeze() يمنع تعديل **محتوى** الكائن نفسه. في الوضع غير الصارم تفشل المحاولة صامتة، وبالوضع الصارم ("use strict") ترمي خطأ.
الصياغة
const frozen = Object.freeze(obj);
⚡ جرّب بنفسك
عدّل الكود واضغط «تحديث» لترى النتيجة فورًا — التجربة أفضل معلّم.
⚡ محرّر تفاعلي
const config = Object.freeze({ apiUrl: "https://api.example.com" });
config.apiUrl = "hacked"; // تُتجاهل صامتة
console.log(config.apiUrl);
console.log(Object.isFrozen(config));وحدة التحكّم
اضغط «تشغيل» لرؤية النتيجة هنا.
أهم المعاملات
| المعامل | الوظيفة |
|---|---|
| obj | الكائن المراد تجميده — يُرجَع نفسه بعد التجميد |
💡 نصائح عملية
- استخدمه للثوابت والإعدادات المشتركة التي لا يجب أن تتغيّر بالخطأ بأي مكان بالكود
- التجميد سطحي فقط — كائنات متداخلة داخل الكائن المجمَّد تبقى قابلة للتعديل
⚠️ أخطاء شائعة
- الظن أن const وObject.freeze نفس الشيء — const تمنع إعادة تعيين المتغيّر فقط، وfreeze يمنع تعديل المحتوى
خصائص ذات صلة
🎓 تريد فهم الصورة الكاملة خطوة بخطوة؟ ابدأ من مسار JAVASCRIPT الكامل بالعربي.