动态类型 (Static Typing)
是指编译阶段就能确定变量的类型,且类型不能在运行时变动,比方 C /C++ 中定义的变量
int i =0;
i = "abc";// 编译报错:warning: assignment to 'int' from 'char *' makes integer from pointer without a cast [-Wint-conversion]
动静类型 (Dynamic Typing)
是指在运行时才会进行类型查看,且类型能够在运行时发生变化,比方 JavaScript 中定义的变量
var i = 0;
i = "hello"; // 运行时不会报错, i 从数值类型变为字符串类型
TypeScript 是动态类型语言,即定义变量时需动态的指定变量类型,且类型不能在运行时发生变化
let i : number = 0;// 指定 i 的类型为 number
// 因为存在类型推导,所以能够简化定义变量的形式为:let i = 0;// 依据字面量 0,主动推导 i 为 number 类型