Avatar ·

كيفية حذف خاصية من كائن 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 لإنشاء كائن جديد بدون الخاصية. ما هي الطريقة الصحيحة ولماذا؟ أرجو الإفادة، من فضلكم