Ts知识点-函数

四、函数
1.写法、可选参数和默认参数、剩余参数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
function add(x: number, y: number): number {
return x + y
}
let add1: number = add(10, 20)

let myAdd: (x: number, y: number) => number = function (x: number, y: number): number {
return x + y
}
let myAdd1= function (x: number, y: number): number {
return x + y
}

let getFullname= function (firstname: string, lastname?: string): string {
if(lastname){
return firstname + lastname
}else{
console.log(123);
}
}
getFullname('he')

// 剩余参数
function info(x: string, ...args: string[]) {
console.log(x, args)
}
info('abc', 'c', 'b', 'a') //abc [ 'c', 'b', 'a' ]

2.函数重载:函数名相同, 而形参不同的多个函数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
(() => {
// 重载函数声明
function add(x: string, y: string): string
function add(x: number, y: number): number

// 定义函数实现
function add(x: string | number, y: string | number): string | number {
// 在实现上我们要注意严格判断两个参数的类型是否相等,而不能简单的写一个 x + y
if (typeof x === 'string' && typeof y === 'string') {
return x + y
} else if (typeof x === 'number' && typeof y === 'number') {
return x + y
}
}

console.log(add(1, 2))
console.log(add('a', 'b'))
// console.log(add(1, 'a')) // error
})()

-------------本文结束感谢您的阅读-------------

我的传送门:个人网站GithubGitee