typescript 中的 typeof 操作符
typescript 中的 typeof 操作符
程序员朱永胜背景
typeof
是 TypeScript 及 JavaScript 中的一个操作符,用于检查变量的数据类型。在 TypeScript 中,typeof
不仅用于运行时数据类型检查,还可以用于静态类型查询。
用法
检查运行时数据类型
在运行时,typeof
可以返回一个表示变量数据类型的字符串,如 number
, string
, boolean
, object
, undefined
, function
, 和 symbol
。
1 | let num = 42; |
查询静态类型
在 TypeScript 中,typeof
还可以用于获取变量或对象的静态类型定义。这对于创建与现有对象类似的新对象非常有用。
1 | type Point = { x: number; y: number }; |
注意事项
- 在运行时使用时,返回的是字符串。
- 在编译期使用以获取静态类型,不会影响输出的 JavaScript。
对比:JavaScript Vs TypeScript 中的 Typeof
特性 | JavaScript | TypeScript |
---|---|---|
使用场景 | 检查运行时数据类型 | 检查运行时数据类型 & 获取静态类型 |
返回值 | 字符串(e.g., “number”) | 字符串 / 类型(取决于上下文) |
静态分析支持 | 不支持 | 支持 |
原因解析
TypeScript 引入了对 typeof
操作符的新用法,以增强其在强类型系统中的能力,从而使得开发者能够更灵活地利用现有对象来定义新对象的结构,而不需要重复定义相同的接口或类型。