本章关于Ts中函数类型如何定义,以及TS中对象函数类型如何定义
export{}
// a是形参类型
// 后面的:number是返回值类型 void为无需返回
// 第一种直接写
function fn(a:number):number {
return a
}
fn(2)
// 第二种接口的写法
interface fnInter{
(p:string):number
}
let fnIc:fnInter = ()=>{
return 1
}
fnIc('2')
// 第三种,类型别名写法
type FnType = (p:string)=>void
let fns:FnType = (p:string):void=>{
}
// 第四种 函数作为对象属性出现的时候 用interface
interface ObjItf{
fn:fnInter
}
let obj:ObjItf = {
fn:(str)=>{
return 1
}
}
obj.fn('')
// 第五种 函数作为对象属性出现的时候 用type
type fnObjType = {
obj1:(person:string)=>number
}
let obj1:ObjItf = {
fn:(str)=>{
return 1
}
}
obj1.fn('')