readonly() إنشاء وكيل للقراءة فقط

آخر تحديث: 2026-10-22

readonly() إنشاء وكيل للقراءة فقط

تُنشئ readonly() وكيلًا للقراءة فقط من البيانات الأصلية: أي كتابة تُصدر تحذيرًا وتفشل، لحماية البيانات من التعديل غير المقصود.

المجموعةالتفاعلية: الأساس
النوعAPI
النطاقداخل المكوّن
إصدار Vue3.0+
دعم SSRمدعوم

📝 الصيغة

const config = readonly({ theme: 'dark' })
config.theme = 'light'  // ❌ تحذير: فشلت عملية الكتابة

⚙️ الوسائط

targetكائن أو ref (وعند تمرير ref تُعاد نسخة للقراءة فقط)

القيمة المُرجعة:وكيل عميق للقراءة فقط

▶ مثال

عدّل الشيفرة أدناه وشاهد النتيجة مباشرة:

المخرجات:

Theme stays dark; clicking logs a failed-write warning and nothing changes.

💡 نقاط مهمة

💡 نصيحة سيناريو نموذجي: تغليف كائن الإعدادات قبل تمريره إلى المكونات الأبناء لمنعهم من تعديل بيانات الأب.
ℹ️ ملاحظة القراءة فقط باتجاه واحد: تتزامن تغييرات المصدر (الكائن الأصلي) إلى الوكيل، بينما تُحجب الكتابة العكسية.
⚠️ تحذير في بيئة التطوير تظهر تحذيرات عند الكتابة، وفي الإنتاج تفشل الكتابة بصمت — فلا تعتمد عليها كتحقق وقت التشغيل.
المزيد من الحالات قريباً.

📚 دروس ذات صلة

❓ الأسئلة الشائعة

س هل تمنع readonly كل أنواع التعديل؟
ج تعترض الكتابة عبر الوكيل فقط؛ أما التعديل المباشر على الكائن الأصلي فيبقى ممكنًا، لذا فالوكيل للقراءة فقط لا يعني أن البيانات غير قابلة للتغيير.
س هل تتحدّث البيانات بعد تغليفها بـ readonly؟
ج نعم: تتزامن تغييرات البيانات المصدرية إلى الوكيل، والمحجوب هو الكتابة فقط.
س ما الفرق بينها وبين Object.freeze؟
ج تجمّد freeze الكائن الحقيقي بشكل لا رجعة فيه؛ بينما readonly مجرد طبقة وكيل تحافظ على قدرة التتبع التفاعلي.
Web-Tutorial.com

فريق Web-Tutorial التقني

منصة دروس برمجية يديرها عدة مطورين. كل درس يتم كتابته ومراجعته بواسطة مطورين متخصصين في المجال. نعمل على ضمان دقة وموثوقية المحتوى — إذا لاحظت أي مشكلة، فيرجى إخبارنا.

100%