TS Compiler API:如何从TypeScript的TypeChecker获取unknown类型?
获取TypeChecker中的unknown类型实例
方法一:通过创建AST节点获取
直接构造unknown关键字对应的AST节点,再通过getTypeAtLocation获取类型实例:
// 前提:已初始化typeChecker实例,且有可用的sourceFile或AST节点上下文 const unknownTypeNode = ts.createKeywordTypeNode(ts.SyntaxKind.UnknownKeyword); const unknownType = typeChecker.getTypeAtLocation(unknownTypeNode);
拿到实例后,可使用typeChecker.isTypeEqualTo(targetType, unknownType)进行类型相等校验,比字符串匹配更可靠。
方法二:通过全局作用域获取
利用TypeChecker的getGlobalType方法直接获取全局的unknown类型:
const unknownType = typeChecker.getGlobalType("unknown");
该方法无需手动创建节点,但需确保当前环境的全局作用域已正确初始化。
内容的提问来源于stack exchange,提问作者Jason Gore
相关产品推荐
相关产品推荐

