美文网首页TypeScript
Ts type 与 interface

Ts type 与 interface

作者: 逗婆苍穹 | 来源:发表于2024-04-29 10:01 被阅读0次
  • type 类型别名
  1. 可以描述对象的结构,包括属性、方法和索引签名等。类型别名不能被实现。
  2. 多次声明同名会报错
type A = string
type A = number
// 标识符“A”重复。类似于 let const 重复声明会报错
  1. 可以描述对象类型、基本类型、联合类型、交叉类型、元组等
  2. 不支持直接的继承,但可以使用交叉类型(&)来合并多个类型
// type 继承 type 与  interface
type P1 = {  name: string }
type P2 = { grade: number  } 
interface P3 { age: number  } 
type P = P1 &  P2 & P3
  • Interface 接口
  1. 可以描述对象的结构,包括属性、方法和索引签名等。接口可以被实现(implements)
  2. 可以多次声明同一个接口,并且会自动合并接口中相同名称的成员
interface A  { name:string }
interface A  { age:number }
// 会求并集  { name:string, age:number }
  1. 主要用于描述对象类型,虽然可以描述函数类型,但不能直接描述基本类型、联合类型等
  2. 可以通过继承其他接口来扩展自身,使用extends关键字
// interface 继承 interface
interface P1 { name: string }
interface P extends P1 { 
  grade: number 
}
// interface 继承 type 
type P1 = { name: string }
interface P extends P1 { 
  grade: number 
}

相关文章

网友评论

    本文标题:Ts type 与 interface

    本文链接:https://www.haomeiwen.com/subject/wmutfjtx.html