中的类型(vs接口)我无法确定何时,如果您想要使用type
而不是interface
作为打字稿中的变量。假设有以下两种:何时使用TS
type User = {
id: string;
name: string;
type: string;
}
interface User {
id: string;
name: string;
type: string;
}
我可以定义与两个完全相同的是const user: User = ...
的变量。但是,这里有所有的事情我可以做interface
,我不能做types
:
// Extension:
interface AdminUser extends User {
permissions: string[];
role: string;
}
// Using in abstract method:
abstract class Home {
abstract login(user: User): void;
}
class AdminHome extends Home {
login(user: AdminUser) {
...
}
}
只是仅举几例。
所以我的问题是:你什么时候想要使用type
?