interface接口

interface接口

// ts中箭头函数
const screenResume = (name:string,age:number,bust:number)=>{
    age < 24 && bust >= 90 && console.log(name+'进入面试')
    age >= 24 || bust < 90 && console.log(name + '被淘汰')
}
screenResume('大脚',18,89)
const getResume = (name:string,age:number,bust:number)=>{
    console.log(name+'年龄是'+age)
    console.log(name+'胸围是'+bust)
}
getResume('大脚',18,89)
// 发现在以上两个箭头函数中name:string,age:number,bust:number是完全重复的,调用函数传递值的时候也是完全重复的,可以定义接口重复使用
interface Girl {
   name:string;
    age:number;
    bust:number;
    yaoWei ?:number; // 可有可没有
}

const screenResume = (girl:Girl)=>{
    girl.age < 24 && girl.bust >= 90 && console.log(girl.name+'进入面试')
    girl.age >= 24 || girl.bust < 90 && console.log(girl.name + '被淘汰')
}

const getResume = (girl:Girl)=>{
    console.log(girl.name+'年龄是'+girl.age)
    console.log(girl.name+'胸围是'+girl.bust)
    girl.yaoWei && console.log(girl.name + '腰围是'+girl.yaoWei)
}

const var1 = {
    name:'大脚',
    age:18,
    bust:94
}
screenResume(var1)
getResume(var1)

// 接口与类型别名的不同,类型别名可以定义为任意一种类型,但是接口必须是对象类型
type Girl1 = string

// 接口当中可以写任意属性,任意类型
interface Girl {
   name:string;
    age:number;
    bust:number;
    yaoWei ?:number; // 可有可没有
    [propName:string]:any; // 任意个属性,任意类型
    say():string; // 定义方法,返回string类型
    
}
const var1 = {
    name:'大脚',
    age:18,
    bust:94,
    sex:'nv',
    height:180,
    say() {
        return 'hello world';
    }
}

// 使用接口限制类,此类必须含有接口中定义的属性和方法
class a implments Girl {
    name='刘颖'
    age=18
    bust=90
    say(){
        return 'hello world'
    }
    
   // 接口继承
    interface Teacher extends Girl {
        teach():string;
    }
    
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值