typescript接口上

1 接口的基本使用

什么是接口:接口也是一种数据类型,接口是一系列抽象方法的声明。是一些方法特殊的集合,

格式:interface interface_name{}

expor default{}
interface IFullname{
firstName:string
lastName:string
}
let goddassName:IFullName={
firstName:"王",
lastName:"五"
}
console.log(goddassName.firstName,goddassName.lastName);

function say({firstName,lastName}:IFullName):void{
    console.log(`我的名字叫${firstName}${lastName}`)
}
say(goddassName);
// say({name:"杨幂"})

2 可选属性与只读属性

可选属性:?

只读属性:readonly

readonly与const的区别:作为变量的使用是const,属性使用是readonly

export default{}

//可选属性:
interface IFullName{
firstName:string
lastName:string
age?:number
}
let goddass:IFullName={
firstName:"王",
lastName:"五"
//age:18
}

//只读属性:
interface IFullName{
readonly name:string
readonle age:number
}
let info:IInfo={
name:"赵六",
age:18
}
//info.name="赵六",
//info.age = 18;

3 索引签名

定义:索引签名用于描述那些通过索引得到的类型

格式:如[props:string]:any

用于解决参数问题

export default {}
// 注意点:如果使用接口来限定了变量或者形参,那么在给变量或者形参默认值的时候,多一个或者少一个都是不可以的
//解决参数可多可少的问题//
// 方案一:使用可选参数
interface IFullName{
firstName:string
lastName: string
age ? : number
}
// 解决方案:可选属性
let goddass1:IFullName={firstName:"刘",lastName:"亦菲",age:18}
let goddass2:IFullName={firstName:"刘",lastName:"亦菲"}


//方案二:使用变量
let info={firstName:"杨",lastName:"幂", age:18,song:"爱的供养"};
let goddass3:IFullName=info;

//方案三:使用类型断言
let godass4:IFullName=({firstName:"杨",lastName:"幂" ,age:18,song:"爱的供养" ,tv:"仙剑奇侠传三"}) as IFullName;


//索引签名
// 索引签名用于描述通过索引得到的类型
// 注意点:对象中的键,会被转化为字符串
interface IBeauty{
    [ props:string]: string
    }
    let goddass5={name1:"刘亦菲", name2: "刘诗诗" , name3: "赵丽颖"};


    interface IAge{
        [ props:string] : number
        }
    let ages={age1: 10,age2: 20,age3: 30}



interface IMyFullName{
firstName : string
lastName: string
[props :string]: string
}
let goddass6:IMyFullName={firstName: "刘",lastName:"亦菲" ,sex:"女"}
let goddass7: IMyFullName={firstName: "刘", lastName: "亦菲",tv:"甄嬛传"}

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值