TypeScript

Ts type 与 interface

2024-04-29  本文已影响0人  逗婆苍穹
  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
  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 
}
上一篇 下一篇

猜你喜欢

热点阅读