TypeScript 学习笔记 02

110 阅读2分钟

掌握 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('世界')
  }