TypeScript 的最大亮点自然就是提供静态类型(type)。我们可以对变量设置类型,比如你给 count 变量设置为数字类型(number),如果你从 input 元素提取 value (string 类型)赋予给 count,如果你忘记将其转换为数字,编译是不会通过的。
当然类型不是强求设置的,为了兼容 JavaScript,你也可以设置为 any 类型。所谓 any 类型是一个特殊的类型,任何类型的的值都可以赋予给它。
如 :
var msg:string = "Hello";
msg = 11;
console.log(msg);
上面的代码第2行 msg 变量初始化时是字符串类型,当它被指定为数值类型是会报错。
TypeScript 声明的变量一旦指定类型,它的类型就再也不能修改。这样变量就具有可预测性。
JavaScript 的变量可以赋予任何类型的值。有时候,我们会看到一个变量在执行的过程中变成各种各样的类型,一会是字符串,一会是对象,非常不好预测,尤其是有复杂条件判断的时候。这其实是并不是好的开发习惯,但在 JavaScript 它就是可以这么干!
但如果你用 TypeScript,就没有这个烦恼,变量一旦声明类型就再也无法修改。