Avatar ·

在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. 关于 `+` 运算符和模板字符串,它们的行为在类型方面有何不同?