前端/移动开发面试题更新 2026-08-05

在 TypeScript 中,extends 关键字可以用于哪些场景?请分别说明其作用。

前端/移动开发编码实现技术原理TypeScript

考察说明

考察对 TypeScript 中 extends 关键字多种用途的理解与归纳能力。

回答思路

  1. 【回答框架 1】在 TypeScript 中,extends 主要有三种核心用途。第一,用于接口继承,一个接口可以通过 extends 继承一个或多个其他接口,从而复用并扩展其成员定义。第二,用于类继承,一个类可以通过 extends 继承另一个类的属性和方法,实现面向对象中的继承机制,并可通过 super 调用父类构造和方法。第三,用于条件类型中,extends 作为类型约束和条件判断的关键字,例如 T extends U ? X : Y 用于检查类型 T 是否可赋值给类型 U。
  2. 【回答框架 2】在接口继承中,被继承的接口称为父接口,继承后的子接口会包含父接口的所有成员,并可添加新成员或覆盖同名成员(需类型兼容)。类继承时,子类继承父类的非私有成员,可以重写方法或属性,但必须保持兼容性。条件类型中的 extends 则用于泛型约束,例如 function f<T extends SomeType>() 确保传入类型满足特定形状,避免不合法操作。
  3. 【回答框架 3】此外,extends 还用于映射类型中的 key remapping 和模板字面量类型的模式匹配,但在基础面试中,掌握接口继承、类继承和条件类型约束这三个主要场景即可满足大多数需求。
  4. 【回答框架 4】在回答时,建议结合实际示例说明语法与行为差异,并强调 extends 在条件类型中的判断是结构化类型系统下的可赋值性判断,而非名义上的继承关系。
  5. 【关键点 1】extends 可让接口继承多个接口,实现成员复用与扩展。
  6. 【关键点 2】类通过 extends 实现单继承,子类拥有父类成员并可重写。
  7. 【关键点 3】条件类型中 extends 用于泛型约束与条件判断,基于可赋值性。
  8. 【关键点 4】映射类型中可用于 key 重映射或过滤。
  9. 【易错点 1】容易混淆接口继承与类继承的语法和限制,如类只能单继承。
  10. 【易错点 2】在条件类型中,extends 判断的是可赋值性,而非严格相等,可能产生意外结果。
  11. 【易错点 3】不要在泛型约束中滥用 extends,避免过度限制导致不灵活。