Avatar ·

كيفية تحويل سلسلة نصية إلى قيمة منطقية في JavaScript بشكل صحيح؟

مرحباً بالجميع! أنا بدأت للتو في تعلم JavaScript وواجهت مشكلة. لدي سلسلة نصية تأتي من الخادم أو من نموذج. يمكن أن تكون `"true"` أو `"false"`. أحتاج إلى تحويلها إلى قيمة منطقية حقيقية `true` أو `false` لاستخدامها في الشروط. جربت هذا الكود: ```javascript let str = "false"; let bool = Boolean(str); console.log(bool); // يطبع true ``` لكن `Boolean("false")` يُرجع `true`! هذا يربكني. اعتقدت أن السلسلة `"false"` يجب أن تصبح `false`. جربت أيضاً النفي المزدوج: ```javascript let str = "false"; let bool = !!str; console.log(bool); // أيضاً true ``` وهذا أيضاً لا يعمل. أفهم أن السلسلة الفارغة `""` تُعطي `false`، وأي سلسلة غير فارغة تُعطي `true`. لكني أحتاج أن السلسلة `"false"` (الكلمة نفسها) تصبح `false`، و `"true"` تصبح `true`. كيف يمكن فعل ذلك بشكل صحيح؟ هل هناك طريقة مدمجة في JavaScript لهذا؟ أم يجب كتابة دالة خاصة؟ سأكون ممتناً لشرح مفصل.