typescript笔记:类型断言和类型推断

类型断言 

手动指定一个值的类型,即允许变量从一种类型更改为另一种类型。

语法:<类型>值  或者  值 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人点赞

 

typescript

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值