我们定义一个函数,关注他的类型无非是两点,一个是参数的类型约束,一个是返回值的类型约束。
1.参数后面跟的是参数的类型,小括号后面,大括号前面写的是函数返回值的类型。
void表示没有返回值
function fn(num1:number,num2:number):void{
console.log(num1+num2)
}
利用type关键字可以自己定义想要的类型集合
type myType = string | number
let count:myType = 123
自定义类型用来定义函数类型很方便
type fnType = (a:number,b:number) => void
let fn2:fnType = (a:number,b:number):void =>{
// xxxxxxx
}
自定义类型用来定义函数方便,接口用来定义对象方便。
接口类型的定义是inferface 接口名 {} 接口名后面没有等号
interface IPerson {
name:string,
age:number,
fn:fnType
}
let obj:IPerson = {
name:'zhangsan',
age:18,
fn:(a:number,b:number):void =>{
// xxxxxxx
}
}
class类的类型通常也通过接口去定义。通过关键词implements 去实现
class ZL implements IPerson{
name:string
age:number
constructor(name:string,age:number){
this.name = name
this.age = age
}
fn(a:number,b:number):void{
}
}