我是靠谱客的博主 激情钥匙,最近开发中收集的这篇文章主要介绍TypeScript-4.函数,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

笔记。

// 一、函数类型
// 1.为函数定义类型
// 函数传统写法
function add1(arg1: number, arg2: number): number {
  return arg1 + arg2
}
// 函数ES6箭头函数
const add2 = (arg1: number, arg2: number) => arg1 + arg2
// ******类型定义********
const arg3 = 5
let add3: (x: number, y: number) => number // 定义, 常量不用定义
add3 = (arg1: number, arg2: number): number => arg1 + arg2 + arg3 // 使用

// 2.使用接口定义函数类型
interface Add {
  (num1: number, num2: number): number // tslint 推荐用下面的类型别名
}

// 3.使用类型别名
type Add2 = (num1: number, num2: number) => number
type isString = string

// 二、参数
// 1.可选参数 (?可选参数 需要写在其他参数的后面)
type AddFunc2 = (arg1: number, arg2: number, arg3?: number) => number
let addFunc1: AddFunc2
addFunc1 = (x: number, y: number ) => x + y
addFunc1 = (x: number, y: number, z ) => x + y + (z ? z : 0)

// 2.默认参数
// 以前js写法 先判断
let addFunc2 = (x: number, y: number) => {
  y = y || 0
}
// 现在 语法糖 ES6也有
let addFunc3 = (x: number, y: number = 0) => x + y
addFunc3 = (x: number, y = 0) => x + y // 可不写类型,ts会根据默认值判断出类型

// 3.剩余参数
// ES6之前的js
function handleData() {
  if(arguments.length === 1) return arguments[0] * 2
  else if(arguments.length === 2) return arguments[0] * arguments[1]
  // ***** Array.prototype.slice.apply(arguments)
  // arguments是类数组对象 通过这个方法转化为数组 类数组对象参照另一篇
  // 类数组对象理解 https://blog.csdn.net/weixin_42423019/article/details/106781332
  else return Array.prototype.slice.apply(arguments).join('_')
}
// ES6
const handleData1 = (...args: any) => { console.log(args) }
// TS中
const handleData2 = (arg1: number, ...args: number[]) => {
  // ...
}

// 三、重载 (只能用function定义 不能用接口定义)
function handleData3(x: string): string[]
function handleData3(x: number): number[]
function handleData3(x: any): any { // 函数实体 不是重载的一部分
  if (typeof x === 'string') {
    return x.split('')
  } else {
    return x.toString().split('').map((item: string) => Number(item))
  }
}
handleData3('abc') // 移到函数名上看类型
handleData3(666)

补充: 对类数组对象、对象、数组的理解 https://blog.csdn.net/weixin_42423019/article/details/106781332

题外话:前几天《人文通识》听到木心先生,《从前慢》的作者,搜了一下,看到了一句话

意大利全靠一个太阳 我全靠一个你

最后

以上就是激情钥匙为你收集整理的TypeScript-4.函数的全部内容,希望文章能够帮你解决TypeScript-4.函数所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(48)

评论列表共有 0 条评论

立即
投稿
返回
顶部