كيفية حذف خاصية من كائن JavaScript؟ (delete، spread وطرق أخرى)
مرحباً بالجميع! لقد بدأت للتو في تعلم JavaScript وواجهت مشكلة. لدي كائن يحتوي على بيانات المستخدم:
```javascript
const user = {
name: 'Alexey',
age: 30,
email: 'alex@example.com',
password: 'secret123',
role: 'admin'
};
```
أحتاج إلى حذف الخاصية `password` من هذا الكائن قبل إرسال البيانات إلى العميل (حتى لا يتم كشف كلمة المرور). جربت تعيين `undefined`:
```javascript
user.password = undefined;
```
لكن هذا لا يحذف الخاصية - بل تصبح `undefined`. عند التسلسل إلى JSON (JSON.stringify) تختفي، لكن المفتاح يبقى في الكائن نفسه. وإذا قمت بالتكرار عبر الكائن باستخدام `for...in`، فإن `password` لا تزال تظهر.
سمعت عن العامل `delete`، لكني مرتبك لأن البعض يقولون إنه بطيء ولا يُنصح باستخدامه. ورأيت أيضاً صيغة مع spread operator لإنشاء كائن جديد بدون الخاصية. ما هي الطريقة الصحيحة ولماذا؟
أرجو الإفادة، من فضلكم