TypeScript 类型断言、类型推论

TypeScript类型断言与推论

类型断言

类型断言是一种 TypeScript 特性,用于告诉编译器将一个值视为特定的类型,即使编译器本身的类型推断可能不同。

类型断言并不会改变变量的实际运行时类型,而是在编译阶段告知TypeScript编译器开发者期望该表达式具有某种类型。

注意:类型断言 不是 类型转换,因为转换通常意味着某种运行时的支持。但类型断言纯粹是一个编译时语法,只是在编译阶段起作用,不进行特殊的数据检查和解构,它没有运行时的影响。同时,它也是一种为编译器提供关于如何分析代码的方法

语法格式:

  1. <类型>值
  2. 值 as 类型

类型断言主要用于以下情况:

  1. 当 TypeScript 的类型推断不够精确,而开发者明确知道变量的实际类型时。
  2. 当需要访问特定类型的属性或方法,但 TypeScript 由于自身的类型限制不允许直接访问时。
let someValue: any = "Hello, TypeScript!";

// 方式一:<类型>值
let length1: number = (<string>someValue).length;

// 方式二:值 as 类型
let length2: number = (someValue as string).length;

当你在TypeScript里使用JSX时,只有 as 语法断言是被允许的。

类型推断

在 TypeScript 中,类型推论允许 TypeScript 在某些情况下根据变量的初始化值自动推断出变量的类型。

类型推断发生在初始化变量和成员,设置默认参数值和决定函数返回值时。

  1. 变量初始化时的类型推论
    当声明一个变量并同时为其赋值时,TypeScript 会根据赋值的值来推断变量的类型。

示例:

let num = 5;  // TypeScript 会推断 num 的类型为 number
let isTrue = true;  // TypeScript 会推断 isTrue 的类型为 boolean
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值