在TypeScript中将数字转换为字符串:如何正确且无错误?
大家好!我刚开始学习TypeScript,遇到了将数字转换为字符串的问题。在普通JavaScript中,我通常使用类似 `String(123)` 或 `(123).toString()` 的方法,但在TypeScript中,我遇到了意外的类型错误。
以下是我的代码示例:
```typescript
const userId: number = 42;
const url: string = "/user/" + userId; // 错误:类型 'number' 不能赋值给类型 'string'
```
我原本期望TypeScript会像JavaScript一样在拼接时自动将数字转换为字符串,但却收到了编译错误。我还尝试了:
```typescript
const userId: number = 42;
const url: string = "/user/" + String(userId); // 有效,但这样正确吗?
```
我关心几个问题:
1. 在TypeScript中,哪种方式被认为是将数字转换为字符串的正确方法?
2. `String(value)` 和 `value.toString()` 之间有什么区别?
3. 关于 `+` 运算符和模板字符串,它们的行为在类型方面有何不同?