string 字符串类型
最后更新:2026-10-22
string 字符串类型
string 表示文本值。名称、消息、ID 等以字符形式存在的数据都用它标注,是日常代码中出现频率最高的类型。
| 分组 | 基础类型 |
|---|---|
| 类型 | 类型 |
| 严格模式 | 不需要 |
ℹ️ 说明 编辑器将 TypeScript 转译为 JavaScript 后运行(不做类型检查);类型检查结果见示例 Output。
📝 语法
let title: string = "TypeScript 手册";
let greeting = `你好, ${title}`; // 模板字符串可内嵌变量
⚙️ 参数
| `${expr}` | 模板字符串:反引号包裹,${} 内可嵌入任意表达式 |
|---|
返回值:无返回值——string 是基础类型注解,不产生任何运行时代码。
▶ 示例
修改下面的代码,点击试一试查看转译运行结果:
输出:
Item TS-1001 x3
15 ITEM TS-1001 X3
(转译后运行输出;把 label 改成数字再调用 .toUpperCase 会得到编译错误)
💡 要点
ℹ️ 说明 标注时永远用小写 string,不要用包装对象类型 String——两者不是一回事,String 还包含 new String() 这类对象。
💡 提示 模板字符串比 + 拼接更清晰且支持多行文本,日常优先使用。
⚠️ 注意 string 只约束"是文本",不约束内容格式;邮箱、手机号之类的格式校验要靠运行时正则,类型层无能为力。
🏷️ 相关基础类型
💡 相关案例
更多案例即将上线。
📚 相关教程
❓ 常见问题
Q string 和 String 有什么区别?
A string 是原始值类型,String 是包装对象类型(可容纳 new String() 产生的对象)。日常标注一律用小写 string,它兼容一切字符串值。
Q 模板字符串和 + 拼接有什么区别?
A 结果相同,但模板字符串可读性好、支持多行,且 ${} 内可以放任意表达式。拼接长字符串时推荐模板字符串。
Q "a" | "b" 这种字面量联合和 string 是什么关系?
A string 是全集,字面量联合是它的子集:string 不能赋给 "a" | "b",反过来可以。需要限定取值范围时用字面量联合(见 literal-types 条目)。