请解释 TypeScript 中类型操作符 typeof 的功能是什么?
考察说明
考查对 TypeScript 类型系统中 typeof 操作符的理解,包括其用途和区别。
回答思路
- 【回答框架 1】typeof 在 TypeScript 中用于获取变量或属性的类型,并将其作为类型注解使用。它只能用于标识符或属性访问,不能用于任意表达式。
- 【回答框架 2】它与 JavaScript 中的 typeof 操作符不同,后者在运行时返回字符串,而 TypeScript 的 typeof 用于类型上下文,在编译时解析。
- 【回答框架 3】typeof 常用于从现有对象或模块中提取类型,例如,使用 typeof myObj 获取对象的结构类型,或者结合 keyof 进行高级类型操作。
- 【关键点 1】typeof 获取变量或属性的静态类型。
- 【关键点 2】它只能用于标识符或属性访问,不能用于任意表达式。
- 【关键点 3】它是类型查询操作符,在编译时执行。
- 【易错点 1】混淆 JavaScript 的 typeof 和 TypeScript 的 typeof,前者返回字符串,后者是类型查询。
- 【易错点 2】错误地使用 typeof 对表达式(如函数调用)进行操作,会导致错误。
- 【易错点 3】忽略 typeof 只能用于标识符和属性访问的限制。