静态类型语言:在编译阶段确定所有变量的类型
    动态类型语言:在执行阶段确定所有变量的类型

    静态类型语言 动态类型语言
    对类型极度严格 对类型非常宽松
    立即发现错误 BUG 可能隐藏很久
    运行时性能很好 运行时性能差
    自文档化 可读性差

    但是动态类型语言的支持者认为:

    • 性能可以改善(V8 引擎),而语言灵活性更重要
    • 隐藏的错误可以通过单元测试发现
    • 文档可以通过工具生成

    强类型语言与弱类型语言大多时候都与静态类型和动态类型相对应,但是实际上定义还是有些区别的。
    截屏2020-06-0310.33.12.png