动态类型:变量类型不固定,可以被赋值为不同类型的值。运行时才能检查类型错误。
静态类型:变量声明时确定类型,后续不能改变。编译时就可以检查类型错误。
弱类型:类型检查不严格,允许隐式类型转换。
强类型:类型检查严格,不允许隐式类型转换,必须进行显式类型转换。