Quelle est la différence entre les types String et string en TypeScript ?
Bonjour à tous ! Je viens de commencer à apprendre TypeScript et j'ai rencontré une situation confuse. Dans la documentation et dans différents exemples, je vois que deux types différents sont utilisés pour déclarer des variables de type chaîne de caractères : `String` et `string`. Par exemple :
```typescript
let name1: string = "Alice";
let name2: String = "Bob";
```
Les deux options semblent fonctionner, et le code se compile sans erreurs. Mais j'ai remarqué que si j'utilise `String` (avec une majuscule), TypeScript se comporte parfois étrangement. Par exemple, j'ai essayé d'écrire ceci :
```typescript
let greeting: String = new String("Hello");
let message: string = "World";
// Mais cela ne fonctionne pas :
// let result: string = greeting + message; // Erreur ?
```
Alors qu'en JavaScript tout fonctionnerait. J'ai aussi vu que certains développeurs critiquent l'utilisation de `String` au lieu de `string`. Pouvez-vous m'expliquer la différence ? Pourquoi TypeScript permet-il d'utiliser les deux options ? Et lequel est correct pour le développement quotidien ? Merci d'avance.