Typescript基础2

96 阅读2分钟

本文已参与「新人创作礼」活动, 一起开启掘金创作之路。

这是typescript学习的系列课程,今天开启typescript的第2篇。

不多说废话,直接精简出最精华的部分给大家。

接上一篇Typescript基础一,今天主要讲一下函数的一些基础使用,一共有5条,特别是最后一条最重要。

想要学习typescript知识的一定要看到最后,特别是第5条特别重要。能帮助解工作中的问题。

首先我们来看typescript在函数中的使用。我分别在下面写了5种类型的情况,分别是普通函数、确定返回值类型的函数、自定义类型的函数、定义void的函数以及用于hook函数。

特别是hook的使用场景在工作中用的比较多。

函数的基础使用


// 1. 普通函数
function sum(num1: number, num2: number) {
  return num1 + num2;
}

// 2. 确定返回值类型的函数
function confirmFunx(str1: string, str2: string): string {
  return str1 + str2;
}

// 3. 自定义类型的函数。举例:确认返回值类型的函数
type ILoveType = {
  time: string
  text: string
}
function selfIkunFunc(): ILoveType[]  {
  const lyrics: ILoveType[] = []
  lyrics.push({ time: '2022-12-25 07:35:25', text: "你干嘛;哎哟;啊哈,你好烦" })
  return lyrics
}

// 4. 定义void的函数,一般会用于回调函数或者定义匿名函数使用
type FuncType = (...args: any) => void
function delayExecFn(fn: FuncType) {
  fn("jack", 18)
}


// 5. 使用元组类型定义函数的返回值,常用于hook函数的定义
function useStateHook(initialState: number): [number, (newValue: number) => void] {
  let stateValue = initialState
  function setValue(newValue: number) {
    console.log('5. 使用hook定义最新的值>>>', newValue);
    stateValue = newValue
  }
  return [stateValue, setValue]
}


// 案例一
const resultNum = sum(10, 25);
console.log('1. resultNum>>>>>', resultNum);

// 案例二
const resultStr = confirmFunx('13', '14');
console.log('2. resultStr>>>>>', resultStr);

// 案例三
const iKunVal = selfIkunFunc();
console.log('3. iKunVal>>>>>', iKunVal);

// 案例四
delayExecFn((name, age) => {
  console.log('4. 定义void函数>>>', name, age)
})

// 案例五
const [count, setCount] = useStateHook(10)
setCount(100)

以上的执行结果如下:

image.png

ok,以上为今天Typescript的函数的基础内容。

学如逆水行舟,不进则退。学习不求贪多,只求稳步的进步。