# 静态类型（Static Typing）

### 缩写：无

### 简述

主要在编译期或独立类型检查阶段根据源码确定类型并拒绝不匹配程序的策略。利于早期发现错误、大型重构与工具辅助；成本是表达摩擦与学习曲线。

### 使用场景

大型代码库、公共库 API、需要可靠重构的协作。

### 实践与应用

• 边界严格、内部可推断
• 用联合/枚举表达状态
• 与 CI 类型检查门禁结合

### 注意事项

• 类型正确仍可能逻辑错误
• 与 JSON 等动态数据交界必须校验

### 对比与易混

| | 静态类型 | 动态类型 |
|--|----------|----------|
| 检查时机 | 多在编译/检查期 | 多在运行路径上 |
| 典型收益 | 早发现、利重构 | 灵活、少前置标注 |
| 典型成本 | 表达摩擦 | 类错误更晚暴露 |

### 关联术语

• 动态类型：检查偏运行期的对照策略
• 类型推断：减少显式标注仍保持静态检查
• 编译期：静态检查常发生的阶段
• TypeScript：在 JS 上增加可选静态类型的语言示例
