TypeScript中intrinsic关键字是什么?能否自行使用?
关于TypeScript中
intrinsic关键字的说明 1. 关键字含义
intrinsic是TypeScript编译器内部专属的标记关键字,用来标识无法通过普通TypeScript类型语法实现、必须依赖编译器底层原生逻辑处理的内置类型。
比如你提到的Uppercase、Lowercase这类字符串转换类型,它们的功能涉及到具体字符的编码转换逻辑(比如Unicode字符的大小写映射),没法像InstanceType那样用条件类型、类型推导等常规语法写出完整实现。用intrinsic标记后,编译器会跳过对该类型定义的常规解析,直接调用自身内置的逻辑来处理类型转换。
2. 用户能否自行使用?
不行。从你触发的错误TS2795: The 'intrinsic' keyword can only be used to declare compiler provided intrinsic types就能明确:这个关键字是TypeScript官方用来定义内置核心类型的专属标记,不开放给用户自定义类型使用。编译器会严格校验使用场景,只允许自身维护的标准库类型(比如lib.es5.d.ts、lib.es2021.string.d.ts里的这些类型)使用该关键字,避免用户实现不符合预期的“伪内置”类型,破坏类型系统的一致性。
内容的提问来源于stack exchange,提问作者Lin Du
相关产品推荐
相关产品推荐

