赞
踩
充分利用ChatGPT的优势,帮助我们快速准备前端面试。今日问题:typescript中type和interface的区别?
Q:如果在前端面试中,被问到typescript的type和interface的区别是什么,怎么回答最好?
A:当谈论TypeScript中的type和interface时,可以更加详细地探讨它们的特点、用法和适用场景。以下是一份更详细的解释:
type MyString = string;
type Point = { x: number, y: number };
type Callback = (result: string) => void;
特点:
应用场景:
扩展性:
type A = { x: number };
type B = { y: number };
type C = A & B; // C = { x: number, y: number }
type D = C & {
z: number;
};
type Name = { firstName: string };
type Name = { lastName: string };
// 这会自动合并成一个类型: { firstName: string, lastName: string }
interface Person {
name: string;
age: number;
greet(): void;
}
特点:
应用场景:
扩展性:
interface A { x: number; }
interface B { y: number; }
interface C extends A, B { z: number; }
通常来说,如果你需要扩展或实现一个接口,或者用于描述对象的形状,那么使用 Interface 更合适;如果你需要更灵活地定义类型,或者需要使用联合类型、交叉类型等高级类型特性,那么使用 Type 更为合适。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。