TS-接口

本文深入讲解了TypeScript中接口的概念及应用,包括如何定义接口、使用接口约束变量和函数,以及通过不同方式实现接口的方法。文章还探讨了匿名函数与具名函数在接口中的区别及其适用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

TS-接口

1.关键字 interface 用于 定义 接口
2.接口 用于 约束 变量 或者 函数

interface A {
	name:string;
	age:number
}
//接口 A 表示  被 约束的 变量 或函数 必须 只能 拥有  string 类型 的 name 属性 以及 number 类型 的 age 属性(缺一不可)
  • 若需要 指定 可以 拥有 其他 属性 或 方法 则 可以 使用 索引签名
interface A {
	name:string;
	age:number;
	[propName:string]:any
}
//此时 实现 接口 A 的 函数 或者 变量  只需要  拥有 string 类型 name 属性 和 number 类型 age 属性 即可,还可以拥有 别的 任意属性 或方法
  • 若需要含有 函数
一.写法1     匿名函数
interface Last {
    (say:string,title:boolean):boolean;
}
//表示 必须   只  含有 或者 是  一个  接受 2个参数 一个 为 字符串 一个 为 布尔值  且 最终 返回 布尔值 的函数
//这种 写法 只能 用于 约束 函数

let a:Last = function(s:string,t:boolean){return boolean}
a.name = 123;   //  error        由于Last  接口 中 并没有 定义 name 属性 所以 变量 a不能 拥有 name 属性
//类 实现 这类 接口 时 将 无法 实现  因为  这接口 实现的 是一个 匿名函数 而 类 必须是 实现 指定 函数 名的 函数
class A implements Last {
	[任意名字](s:string,t:boolean):boolean{
		reutrn true
	}  // error 报错

}

二.写法2  

interface First {
	say(s:string,t:boolean):boolean;
}

//这种 写法  可以 约束   对象 和 类 

let b:First = function say(s:string,t:boolean):boolean { return true}      //error

let c:First = {say:function(s:string,t:boolean):boolean{return true}}   // success

class A implements Last {
	say(s:string,t:boolean):boolean{
		reutrn true
	}  // success
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值