Object Protection
در جاوااسکریپت برای محافظت از اشیاء (Objects) چند روش مختلف وجود داره که هرکدوم سطح متفاوتی از محدودیت ایجاد میکنن.
1️⃣ جلوگیری از افزودن پراپرتی جدید → ()Object.preventExtensions
- 
نمیذاره پراپرتی جدید به شیء اضافه بشه. 
- 
ولی میتونی پراپرتیهای موجود رو تغییر یا حذف کنی. 
2️⃣ مهر و موم کردن شیء → ()Object.seal
- 
جلوی اضافه کردن و حذف کردن رو میگیره. 
- 
ولی تغییر مقدار پراپرتیها مجازه. 
3️⃣ فریز کردن شیء → ()Object.freeze
- 
کاملترین سطح حفاظت. 
- 
هیچ افزودن، حذف یا تغییری مجاز نیست. 
4️⃣ بررسی وضعیت شیء
- 
Object.isExtensible(obj)→ میشه پراپرتی جدید اضافه کرد؟
- 
Object.isSealed(obj)→ شیء سیل شده؟
- 
Object.isFrozen(obj)→ شیء فریز شده؟
5️⃣ کنترل پراپرتیها با Descriptor
میتونی سطح دسترسی تکتک پراپرتیها رو مشخص کنی:
📊 جدول مقایسهای
| متد / ویژگی | افزودن | حذف | تغییر مقدار | توضیح | 
|---|---|---|---|---|
| preventExtensions | ❌ | ✅ | ✅ | فقط نمیذاره پراپرتی جدید اضافه بشه | 
| seal | ❌ | ❌ | ✅ | فقط تغییر مقدار مجازه | 
| freeze | ❌ | ❌ | ❌ | کاملاً immutable میکنه | 
| defineProperty | کنترل دقیق | کنترل دقیق | کنترل دقیق | روی هر پراپرتی جدا میشه تنظیم کرد | 
✨ اینا ابزارهای اصلی هستن برای محافظت از Object تو جاوااسکریپت.
 CSS3
          CSS3
        
                
           HTML
          HTML
        
                
           Tailwind Css
          Tailwind Css
        
                
           Bootstrap 5
          Bootstrap 5
        
                
           Java script
          Java script
        
                
           ++C
          ++C
        
                
           Python
          Python
        
                
           Three.js
          Three.js
        
                
           Gsap
          Gsap
        
                
           Sass
          Sass
        
                
           SQL
          SQL
        
                
           React
          React