Avatar ·

¿Cuál es la diferencia entre los tipos String y string en TypeScript?

¡Hola, colegas! Acabo de empezar a aprender TypeScript y me encontré con una situación confusa. En algunos ejemplos de código veo que para declarar una variable de tipo string se usa `string` (en minúscula), y en otros — `String` (en mayúscula). Por ejemplo: ```typescript let name1: string = "John"; let name2: String = "John"; ``` Ambas opciones funcionan, y no veo diferencia en el comportamiento. Mi código se compila sin errores en ambos casos. Pero siento que no es solo una diferencia estilística. Escuché por ahí que `String` es una clase, mientras que `string` es un tipo primitivo, pero no entiendo cómo esto afecta el uso práctico. ¿Alguien podría explicar cuál es exactamente la diferencia? ¿Cuándo se debe usar una opción y cuándo la otra? ¿Hay algún problema si uso `String` en lugar de `string`? Agradecería un ejemplo simple que demuestre las diferencias. Ya busqué en Google, pero las respuestas en Stack Overflow en inglés son demasiado complejas para un principiante. Me gustaría