TypeScript 词条目录
前端Wiki/词条/类型断言

类型断言

定义用 as 告诉编译器按某个类型处理值,覆盖既有推断

类型断言用 as 或尖括号语法告诉编译器按某个类型处理,最典型的场景是联合类型收窄:把 unknown 或联合值断言成具体分支。框架中常见 as HTMLDivElement、as MouseEvent,用来补齐运行时对象的精确类型。它不改变运行时行为,只是覆盖编译器的推断结果。

断言要谨慎:它允许断言成完全错误的类型,编译器只在两个类型毫无重叠时报错。对 unknown 必须先断言或收窄才能使用。优先考虑类型守卫、泛型与函数重载,实在上下文不足再用 as,并且养成从 unknown 断言的习惯,而非对已声明类型强行改道。

JavaScript
const el = document.querySelector('#app') as HTMLDivElement;
el.style.color = 'red';

function toNum(v: unknown): number {
  // unknown 必须先收窄或断言才能运算
  return (v as number) * 2;
}

const n: number | string = '7';
console.log((n as number).toFixed());
⚠ 常见误区
🔗 相关词条类型注解与类型推断原始类型 any 与 unknown
← 返回来源章节类型注解与类型推断