TypeScript中String和string类型有什么区别?
大家好!我刚开始学习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允许使用这两种方式?在日常开发中哪种是正确的?提前谢谢!