一.类型声明
TypeScript代码最明显的特征,就是为JavaScript变量加上了类型声明
let foo:string;
在上面示例中,变量foo的后面使用冒号,声明了它的类型为String
类型声明的写法,一律为在标识符后面添加‘冒号+类型’。函数参数和返回值,这是这样来声明类型。
function toString(num:number):string {
return String(num);
}
上面示例中,函数toString()的参数num类型是number.参数列表的圆括号后面,声明了返回值类型是string。
注意,变量的值应该与声明的类型一致,如果不一致,TypeScript就会报错。
//报错
let foo:string = 123;
上面示例中,变量foo的类型是字符串,但是赋值为数值123,TypeScript就报错了。
另外,TypeScript规定,变量只有赋值后才能使用,否则就会报错。
let x:number;
console.log(x)//报错
上面示例中,变量x没有赋值就被读取,导致报错。而JavaScript允许这种行为,不会报错,没有赋值的变量返回undefined
二.类型推断
类型声明并不是必须的,如果没有,TypeScript会自己推断类型
let foo = 123;
上面示例中,变量foo并没有类型声明,TypeScript就会推断它的类型。