推荐答案
在 TypeScript 中,typeof
操作符用于获取变量或表达式的类型。它可以在类型上下文中使用,以引用变量或属性的类型。typeof
操作符的用法与 JavaScript 中的 typeof
类似,但在 TypeScript 中,它还可以用于类型推断和类型保护。
用法示例
let num = 42; type NumType = typeof num; // NumType 是 number 类型 function printType(value: typeof num) { console.log(typeof value); // 输出: number } printType(num);
在这个例子中,typeof num
返回 num
的类型,即 number
。然后,NumType
被定义为 number
类型,并且 printType
函数的参数类型也被推断为 number
。
本题详细解读
typeof
操作符的作用
typeof
操作符在 TypeScript 中有两个主要作用:
- 类型推断:
typeof
可以用于推断变量或表达式的类型,并将其用于类型注解或类型别名中。 - 类型保护:在条件语句中,
typeof
可以用于检查变量的类型,并根据类型执行不同的逻辑。
typeof
操作符的用法
类型推断:
let str = "hello"; type StrType = typeof str; // StrType 是 string 类型
在这个例子中,
typeof str
返回str
的类型,即string
,并将其赋值给StrType
。类型保护:
function printValue(value: string | number) { if (typeof value === "string") { console.log("String value: " + value); } else { console.log("Number value: " + value); } }
在这个例子中,
typeof value === "string"
用于检查value
的类型是否为string
,并根据类型执行不同的逻辑。
注意事项
typeof
操作符只能用于变量或表达式,不能直接用于类型。- 在 TypeScript 中,
typeof
操作符的结果是一个类型,而不是一个字符串(与 JavaScript 中的typeof
不同)。
示例代码
-- -------------------- ---- ------- --- ---- - ----- ---- -------- - ------ ----- -- -------- - ------- -- -------- ---------------- ------ ----- - -- ------- ----- --- ---------- - -------------------- ------ - - ------- - - ----------------
在这个例子中,typeof bool
返回 bool
的类型,即 boolean
,并将其用于 checkType
函数的参数类型注解中。