TypeScript 类型断言

一、TypeScript 类型断言的语法

1. <Type>value

let someValue: any = "Hello";
let strLength: number = (<string>someValue).length; 

2. value as Type

let someValue: any = "Hello";
let strLength: number = (someValue as string).length;

3. as const断言: 把字面量推断为更具体的类型

const arr = [1, 2, 3] as const;

4. 非空断言:使用感叹号!后缀来断言一个变量不为null或undefined

let maybeValue: string | null = null;
let value: string = maybeValue!;

5. 断言函数 :确保参数符合特定类型,如果不符合就会抛出错误

function assertIsString(value: unknown): asserts value is string {    
	if (typeof value!== "string") {        
		throw new Error("Value is not a string");    
	}
}

6. 类型保护函数 返回一个布尔值,用于进行类型检查

function isString(value: unknown): value is string {    
	return typeof value === "string";
}
类型断言的语法: 绕过编译器的类型推断,处理那些类型不兼容的情况。比如把一个对象赋值给一个更具体的类型,或者在碰到unknown类型时指定具体类型
注意 :类型断言不是随便就能用的。它有个条件,那就是实际类型与断言类型之间得存在兼容关系,也就是说实际类型可以是断言类型的子类型或者父类型。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值