静态类型语言:在编译阶段确定所有变量的类型动态类型语言:在执行阶段确定所有变量的类型 静态类型语言 动态类型语言 对类型极度严格 对类型非常宽松 立即发现错误 BUG 可能隐藏很久 运行时性能很好 运行时性能差 自文档化 可读性差 但是动态类型语言的支持者认为: 性能可以改善(V8 引擎),而语言灵活性更重要隐藏的错误可以通过单元测试发现文档可以通过工具生成 强类型语言与弱类型语言大多时候都与静态类型和动态类型相对应,但是实际上定义还是有些区别的。