类型断言
手动指定一个值的类型,即允许变量从一种类型更改为另一种类型。
语法:<类型>值 或者 值 as 类型
例如:
function mts(message3:string|number):number{
return message3.length
}
直接 return message3.length 会编译报错。因为定义message3变量是联合类型,字符串类型或者数字类型。而字符串类型才有length属性,数字类型没有length属性。所以必须使用类型断言来指定类型:
function mts(message3:string|number):number{
return (<string>message3).length
}
注意一点:类型断言只是用来判断变量的数据类型,是不能用来转换变量的数据类型。
参考链接:TypeScript学习(七):类型断言
类型推断
当类型没有给出时,typescript 编译器利用类型推断来推断类型。例如:
var num = 2; // 类型推断为 number
console.log("num 变量的值为 "+num);
num = "12"; // 编译错误
console.log(num);
编译错误是因为在上一行中typescript编译器使用类型推断num确定为number类型,当再赋予num字符串类型"12"的时候,就会编译错误。
当变量没有赋值时,该变量会被推断类型为any,变量被赋予任意类型都不会编译报错。例如:
var inb; // 类型推断为any
inb = 10
inb = '100'
console.log(inb)
0人点赞