Avatar ·

ما الفرق بين النوعين String و string في TypeScript؟

مرحباً بالجميع! بدأت للتو في تعلم TypeScript وواجهت موقفاً غير مفهوم. في التوثيق وفي أمثلة مختلفة، أرى أنه للإعلان عن متغيرات نصية يتم استخدام نوعين مختلفين: `String` و `string`. على سبيل المثال: ```typescript let name1: string = "Alice"; let name2: String = "Bob"; ``` كلا الخيارين يبدو أنهما يعملان، ويتم تجميع الكود دون أخطاء. لكنني لاحظت أنه إذا استخدمت `String` (بحرف كبير)، فإن TypeScript يتصرف أحياناً بشكل غريب. على سبيل المثال، حاولت كتابة ما يلي: ```typescript let greeting: String = new String("Hello"); let message: string = "World"; // وهذا لا يعمل: // let result: string = greeting + message; // خطأ؟ ``` على الرغم من أن كل شيء كان سينجح في JavaScript. كما رأيت أن بعض المطورين ينتقدون عندما يستخدم أحدهم `String` بدلاً من `string`. من فضلكم، أخبروني ما الفرق؟ لماذا يسمح TypeScript أصلاً باستخدام كلا الخيارين؟ وأيهما هو الصحيح للتطوير اليومي؟ شكراً مسبقاً!