TypeScript(5函数扩展)

291 阅读1分钟

描述函数

const Fun = (name: string, age: number): string => {
  console.log(name, age)
  return `${name}- ${age}`
}
Fun('3')

默认参数

const Fun = (name: string, age: number = 4): string => {
  console.log(name, age)
  return `${name}- ${age}`
}
Fun('3')

可选操作符 可选参数

//也可以用可选操作符 未传递的参数为undefined
const Fun = (name: string, age?: number): string => {
  console.log(name, age) //3 undefined
  return `${name}- ${age}`
}
Fun('3')

用接口描述函数参数和返回值

interface Player {
  name: string,
  size: number
}

const Fnc = (user: Player): Player => {
  return user
}

const fnc = Fnc({
  name: 'Durant',
  size: 211
})
console.log(fnc)  //{ name: 'Durant', size: 211 }

函数重载

重载是方法名字相同,而参数不同,返回类型可以相同也可以不同。如果参数类型不同,则操作函数参数类型应为any。参数数量不同你可以将不同的参数设置为可选。

//上面两个是规则函数可以是多套, 下面一个是执行函数
function doSom(params: string): void
function doSom(params: number, params2: string): void
function doSom(params: any, params2?: any): void {
  console.log(params, params2)
}
const res = doSom(2, '4')