掌握 TypeScript 中的函数方法
函数-单个定义
函数的类型
函数涉及的类型实际上指的是:函数参数和返回值的类型
格式
//普通函数
//function 函数名(形参1: 类型=默认值,形参2:类型 = 默认值) : 返回值类型{}
function add1(a : number = 10,b : numebr = 20) : number{
return a + b
}
//箭头函数
//const 函数名(形参1: 类型=默认值,形参2:类型 = 默认值) : 返回值类型 => {}
const add2(a : number = 10,b : number = 20) : number => {
return a + b
}
函数-统一定义函数格式
分析
把拥有相同形参和实参的函数当做一个整体定义
type Fn = (n1:number,n2:number) => number
const add : Fn = (n1,n2)=>{
return n1 + n2
}
const sub : Fn = (n1,n2)=>{
return n1 - n2
}
函数-返回值类型void
void 类型
在 TS 中,如果一个函数没有返回值,应该使用 void 类型
function greet(name: string): void {
console.log('Hello', name)
}
// 如果什么都不写,此时,函数的返回值类型为: void
const add = () => {}
// 如果return之后什么都不写,函数的返回值类型为: void
const add = () => { return }
const add = (): void => {
// 此处,返回的 undefined 是 JS 中的一个值
return undefined
}
// 这种写法是明确指定函数返回值类型为 void,与上面不指定返回值类型相同
const add = (): void => {}
函数-可选参数
使用场景
使用函数实现某个功能时,参数有选择,可以传参或者不传。 在给函数参数指定类型时,就可以使用可选参数
可选参数:在可选参数名后面添加?(问号),可选参数后面不能再出现必选参数
function mySlice(start?: number, end?: number): void {
console.log('起始索引:', start, '结束索引:', end)
}
对象类型
单独使用-类型定义
const arr1 :{
name: string,
age : number,
hello(): void,
world: () => void,
} = {
name: 张三,
age : 18,
hello : function(){
console.log('你好')
},
world : () => {
console.log('世界')
}