typescript typeof操作符

本文介绍了TypeScript中的typeof操作符,其用于获取值的类型,与JavaScript类似但可用于类型上下文查询。注意typeof在TypeScript中的作用是运行时类型检查,而非编译时类型检查。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ts typeof 操作符简介

在TypeScript中,typeof是一个操作符,用于获取一个值的类型。它可以与任何值一起使用,并返回一个描述该值类型的字符串。

typeof操作符在TypeScript中的用法与JavaScript中的用法非常相似。

如下,众所周知,在js中提供了typeof 操作符用来在js中获取数据的类型
在这里插入图片描述
tpyescript 中的typeof操作符和js的typeof操作符大体上一样,但ts的typeof操作符多了一些别的使用场景可以在类型上下文中引用变量或属性的类型(类型查询)

typeof 操作符js使用方式

示例如下

let num: number = 5;
console.log(typeof num); // 输出 "number"  

let str: string = "Hello";
console.log(typeof str); // 输出 "string"  

let arr: number[] = [1, 2, 3];
console.log(typeof arr); // 输出 "object"  

let obj: { name: string; age: number } = { name: "John", age: 25 };
console.log(typeof obj); // 输出 "object"  

let bool: boolean = true;
console.log(typeof bool); // 输出 "boolean"  

let undef;
console.log(typeof undef); // 输出 "undefined"  

let nullVal: null = null;
console.log(typeof nullVal); // 输出 "object"  

let func: () => void = () => { };
console.log(typeof func); // 输出 "function"

上面的示例中可以看到,typeof操作符可以正确地返回各种不同类型的字符串表示。注意,对于数组和对象,typeof操作符返回的是"object",因为在JavaScript和TypeScript中,数组和对象都是特殊的对象类型。另外,对于函数类型,typeof返回的是"function"。

在这里插入图片描述

typeof 在类型上下文中使用类型查询

使用场景,根据已有变量的值,获取该值的类型,来简化书写
示例如下

let q = { x: 1, y: 2 }

function format(q: { x: number, y: number }) { }

format(q)

我们已经拥有变量q的类型了,就没必要再次写一遍了,可以利用typeof简化书写

function format(a:typeof q){} //相当于告诉编译器,变量a的类型约束为 变量q的类型

tips :
typeof操作符在TypeScript中只能用于运行时类型检查,而不能用于编译时类型检查。因此,它不能用于确定变量的静态类型。在编译时,TypeScript编译器已经具备了强大的类型检查功能,无需使用typeof操作符来进行类型检查。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Qayrup

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值