shallowReadonly() وكيل ضحل للقراءة فقط

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

shallowReadonly() وكيل ضحل للقراءة فقط

تجعل shallowReadonly() خصائص المستوى الأول فقط للقراءة فقط، وتظل الكائنات المتداخلة قابلة للتعديل.

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

📝 الصيغة

const cfg = shallowReadonly({ theme: 'dark', nested: {} })
cfg.theme = 'light'     // ❌ تُحجب
cfg.nested.x = 1        // ✅ مسموح (المتداخل ليس للقراءة فقط)

⚙️ الوسائط

targetكائن

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

▶ مثال

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

المخرجات:

The top-level write is blocked with a warning; the nested write goes through.

💡 نقاط مهمة

⚠️ تحذير القراءة فقط الضحلة لا تعني الأمان: تظل البيانات المتداخلة قابلة للتعديل، فلا تستخدمها لحماية البيانات.
ℹ️ ملاحظة سيناريوهات قليلة تتطلبها: ثوابت في المستوى الأول مع مراجع متداخلة قابلة للتغيير (مثل حاوية تخزين مؤقت).
المزيد من الحالات قريباً.

📚 دروس ذات صلة

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

س ما الفرق بينها وبين readonly؟
ج تقفل طبقة واحدة فقط: قراءة وكتابة الكائنات المتداخلة كالمعتاد، بينما readonly تقفل جميع المستويات بشكل متكرر.
س ما سيناريوهات الاستخدام الشائعة؟
ج نادرة، وتظهر عادة في واجهات API داخلية حساسة للأداء وتحتاج دفاعًا ضحلًا.
س هل يمكن كشفها؟
ج تُعيد isReadonly قيمة true، وتُعطي isProxy كذلك true.
Web-Tutorial.com

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

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

100%