skip to content

TypeScript
TS 中 any 和 unknown 的一个区别

/**
 * 我们可以对被注解为 any 类型的变量进行任何操作,
 * 包括获取事实上并不存在的属性、方法,
 * 并且 Typescript 还无法检测其属性是否存在、类型是否正确。
 */
let v1: any

/**
 * 我们在 unknown 执行的任何操作,需要做类型收窄 (Type Narrowing)
 */
let v2: unknown
if (typeof v2 === 'number') {
  v2.toFixed()
}