前端面试题库

type和interface的区别

更新时间:2024-11-04 08:07:18

答案

  1. interface可以重复声明,type不行;
  2. interface使用extends来实现继承,type使用交叉类型方式;

建议使用interface来向外暴露接口,使用type将一组类型重新命名。

interface Animal { name: string; } // interface可以多次声明 interface Animal { age: number; } // type不能重复定义 type Person = { name: string; } // 使用extends继承 interface Bird extends Animal { fly: () => void } // 使用交叉类型方式继承 type Man = Person & {age: number};

评论