参考资料
  1. 弱类型、强类型、动态类型、静态类型语言的区别是什么? 👉🏻 链接
  2. 动态语言、静态语言、强类型语言、弱类型语言的区别 👉🏻 链接

notes
  1. “类型系统”的四个主要范式:
    1. 静态类型(Static Typing)
    2. 动态类型(Dynamic Typing)
    3. 强类型(Strong Typing)
    4. 弱类型(Weak Typing)
  2. 在静态类型系统中,变量的类型在编译时已经确定,并且在程序运行期间无法更改。
  3. 静态类型系统有助于在开发过程中发现类型错误。
  4. 静态类型语言 C++,Java,Rust 和 TypeScript
  5. 在动态类型系统中,变量的类型在运行时确定,并且在程序运行期间可能会改变。
  6. 动态类型使得编程更灵活,但可能会导致运行时类型错误。
  7. 动态类型语言 JavaScript,Python,Ruby 和 PHP
  8. 在强类型系统中,一旦变量被赋予了某种类型,就不能用作其他类型(除非进行显式转换)。
  9. 强类型语言帮助保护了数据的完整性,防止了可能的类型错误。
  10. 强类型语言 Java,C++,Python 和 Rust
  11. 在弱类型系统中,变量可以被自由地用作其他类型,无需显式转换。
  12. 弱类型使编程更灵活,但也可能导致类型错误或其他预期之外的行为。
  13. 弱类型语言 JavaScript 和 PHP
  14. 这四种范式并不是互斥的,许多语言都在这些范式之间做出了不同的折衷和平衡。例如,TypeScript 是静态和强类型的,但它是 JavaScript(动态和弱类型)的超集。