كيف تتحقق مما إذا كان المتغير عبارة عن string في JavaScript؟
مرحباً بالجميع! لقد بدأت للتو في تعلم JavaScript وواجهت مشكلة. لدي دالة تأخذ وسيطاً ما، وأحتاج للتأكد من أنه string وليس number أو array أو أي شيء آخر. جربت استخدام `typeof` لكنه أحياناً يعيد أشياء غريبة.
إليك مثال على الكود الخاص بي:
```javascript
function processInput(input) {
if (typeof input === 'string') {
console.log('هذا string!');
} else {
console.log('هذا ليس string');
}
}
processInput('مرحباً'); // يعمل
processInput(123); // يعمل
processInput(new String('اختبار')); // يقول "هذا ليس string"، رغم أنني توقعت string
```
في الحالة الأخيرة، أمرر كائن `new String('اختبار')`، وكودي يعتبره ليس string. لكنه أيضاً string، فقط مغلف في كائن! كيف أتحقق بشكل صحيح؟ هل يجب أن آخذ هذه الحالات في الاعتبار؟
أيضاً سمعت أن هناك بعض المزالق مع `typeof null` الذي يعيد `"object"`. وماذا لو كان المتغير