静态类型与动态类型

编程语言常被分为:静态类型(Statically Typed)语言和动态类型(Dynamiclly Typed)语言。

以下引用自知乎用户 vczh 的回答:

静态类型:编译的时候就知道每一个变量的类型,因为类型错误而不能做的事情是语法错误。

动态类型:编译的时候不知道每一个变量的类型,因为类型错误而不能做的事情是运行时错误。譬如说你不能对一个数字a写a[10]当数组用。

NOTE: 强、弱类型并不是指在定义变量时要加上类型名,这种行为应该称为 显式隐式 类型。