1.接口

TS学习之路2_复用

编辑

let person: { name: string; age: number; sayHi(): void} = {
    name: '刘老师',
    age: 18,
    sayHi() { }
}
//重复的结构又写一次
let person1: { name: string; age: number; sayHi(): void } = {
    name: '刘老师',
    age: 18,
    sayHi() { }
}

2.接口与类型别名的对比

TS学习之路2_数组_02

编辑

//使用接口:只能为对象指定类型
interface IPerson{
    name: string
    age: number
    sayHi(): void
}

let person3: IPerson = {
    name: '刘老师',
    age: 18,
    sayHi() { }
}
let person4: IPerson = {
    name: 'llaa',
    age: 22,
    sayHi() { }
}

//使用类型别名:相当于在声明变量--不仅可以为对象指定类型,实际上可以为任意类型指定别名
type IPerson1= {
    name: string
    age: number
    sayHi(): void
}

let person5: IPerson = {
    name: '刘老师',
    age: 18,
    sayHi() { }
}

type NumStr = number|string

3.接口继承

TS学习之路2_数组_03

编辑

TS学习之路2_复用_04

编辑

//接口继承:两个接口之间有相同的属性或方法,将公共的属性或方法抽离出来,通过继承来实现复用
interface Point2D{x:number;y:number}
//interface Point3D { x: number; y: number;z:number}

interface Point3D extends Point2D{
    z:number
}

let p3:Point3D={
    x:1,
    y:0,
    z:0
}

4.元组

TS学习之路2_复用_05

编辑

//数组:可以出现任意多个数字
let position:number[]=[39,114,1,3,4]

//元组:确切地知道包含多少个元素,以及特定索引对应的类型
let position1:[number,number]=[25,36]