参考答案

  • 使用 typeof 进行类型判断(这些缩小类型范围的技术都有助于TS基于控制流程下的类型分析)
function unknownToString(value: unknown): string { if (typeof value === "string") { return value; } return String(value); }
  • unknown 类型使用类型断言

要强制编译器信任类型为 unknown 的值为给定类型,则可以使用类型断言:

const value: unknown = "Hello World"; const foo: string = value; // Error const bar: string = value as string; // OK

断言错了时语法能通过检测,但是运行的时候就会报错了!

const value: unknown = "Hello World"; const bar: number = value as number; // runtime Error