TypeScript 学习笔记04-接口定义、行为和动作约束,函数类型接口 、可索引接口、类类型接口、接口扩展和接口的继承

本文详细介绍了 TypeScript 中的接口(Interface)用法,包括属性类接口、约束JSON对象、函数类型接口、可索引接口、类类型接口以及接口的扩展和继承。通过实例展示了如何使用接口来约束和定义各种数据结构和函数行为,进一步理解TypeScript的强类型特性。
摘要由CSDN通过智能技术生成

1、属性类接口

function pullData(name:string) {
    console.log(name)
}

pullData('this is ts')

// this is ts

2、对json进行约束 关键词interface

接口定义 行为和动作规范,对批量方法进行约束

接口可选属性 通过?来判断

interface json {
    name:string;
    age:number
}

function pullData(object:json):string {
    retrun `${object.name}今年${object.age}岁`
}

pullData({name:'张三',age:20})  // 张三今年20岁

或

const params = {
    name:'张三',
    age: 20
}

pullData(params) // 张三今年20岁


接口可选属性 通过?来判断

interface json01 {
    name:string;
    age?:number
}
function pullData(object:json01):string {
    retrun `${object.name}今年${object.age}岁`
}

pullData({name:'张三'}) // 张三今年undifind岁

 3、函数类型接口  对方法传入的参数,以及返回值进行约束

interface json{
    (name:string,age:number):string
}


var pullData:json = function(name:string,age:number):string{
    retrun name + '今年' + age
}

pullData({name:'张三',age:20})  // 张三今年20

 4、可索引接口对数组和对象的约束

interface userArr {
    [index:number]:string
}

interface userArr {
    [index:string]:string
}

5、类类型接口  关键词implements

// 对类的约束--抽象类相似 
// interface 定义属性和方法,implements 实现接口,属性和方法必须同步

interface data {
    name:string;
    eat(foot:string):void
}


class Person implements data {
    name:string;
    constructor(name:string){
        this.name = name
    }
    eat(foot:string){
        retrun `${this.name}正在吃${foot}`
    }
}

var p = new Person('张三')

console.log(p.eat('肉肉'))  // 张三正在吃肉肉

6、接口扩展和接口的继承

// 接口扩展和接口的继承

interface api {
    run():any
}

interface rpa extends api{
    work():any
}

class Person {
    name:strimg;
    constructor(name:string){
        this.name = name
    }
}

class web extends Person implements rpa {
    constrcutor(name:string){
        super(name)
    }
    run(){
        console.log(this.name + '在运动')
    }
    work(){
        console.log(this.name + '在工作')
    }
}

var w = new web ('华子')

w.run()
w.work()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值