- 通过function关键字来声明
- 通过表达式方式声明
function numSum(a: number, b: number): number {
return a + b
}
console.log(numSum(1, 4))
type numSum1 = (a: number, b: number) => number
let num: numSum1 = (a: number, b: number) => {
return a + b
}
console.log(num)
let sumOrab = (a: string, b?: string): string => {
return a + b
}
sumOrab('1')
let sumOrStr = (a: string, b: string = 'b'): string => {
return a + b
}
console.log(sumOrStr('a'))
const sumArgs = (...args: string[]): string => {
return args.reduce((pre, next) => pre += next, '')
}
console.log(sumArgs('a', 'b', 'c', 'd'))
function toArray(value: number): number[]
function toArray(value: string): string[]
function toArray(value: number | string) {
if (typeof value == 'string') {
return value.split('');
} else {
return value.toString().split('').map(item => Number(item));
}
}
toArray(123);
toArray('123');