TypeScript 函数重载
函数重载
如果想要TypeScript实现一个加法函数,它可以实现字符串的拼接和数字相加。
当然,用JS实现非常简单,因为JS不关心你的类型,但是用TS实现就稍微复杂一点了。
法一:利用联合类型+类型判断
function add(num1: string | number, num2: string | number) {if (typeof num1 === 'number' && typeof num2 === 'number') {return num1 + num2;} else if (typeof num1 === 'string' && typeof num2 === 'string') {return num1 + num2;}
}
缺点:
①需要进行多次条件判断
②函数的返回值类型依旧不确定
法二:使用TS特有的(指JS没有)函数重载功能
函数的重载
:函数名称相同,但是参数的个数或者类型不同。
// 函数的定义
function add(num1: number, num2: number): number;
function add(num1: string, num2: string): string;// 函数的实现
function add(num1: any, num2: any): any {return num1 + num2;
}
但是如果通过联合类型能更加简单的实现函数功能的时候,应该使用联合类型。
// 联合类型
function getLength(args:string | any[]){return args.length;
}// 函数重载
function getLength2(args:string):number;
function getLength2(args:any[]):number;function getLength2(args:any):any{return args.length
}
TypeScript 函数重载相关推荐
- TypeScript - 函数
前言 本文主要记录下 TypeScript 中的函数,日常学习总结篇. 在 JavaScript 中,函数是构建应用的一块基石,我们可以使用函数抽离可复用的逻辑.抽象模型.封装过程.在 TypeScr ...
- typescript函数和类的基础
目录 函数 函数的基本使用 函数参数的使用 构造函数 函数重载 类 类的基本使用 类的继承 static与instanceof 修饰符 getter与setter 抽象类 初始化 函数 函数的基本使用 ...
- TypeScript 函数以及简单使用和操作
TypeScript 函数 一.常规函数定义和函数调用方式 二.带参数函数定义和调用方式 三.匿名函数定义和调用方式 四.构造函数定义和调用方式 五.递归函数定义和调用方式 六.箭头函数定义和调用方式 ...
- Typescript函数和类的使用
一.函数的基本使用 函数是Javascript应用程序的基础.可以实现抽象层.模拟类.信息隐藏和模块.在Typescript里,虽然已经支持类.命名空间和模块,但函数仍然是主要的定义行为的地方.Typ ...
- TypeScript函数和类
函数介绍 函数是JavaScript应用程序的基础.它帮助你实现抽象层,模拟类,信息隐藏和模块.在TypeScript里,虽然已经支持类,命名空间和模块,但函数仍然是主要的定义行为的地方.TypeSc ...
- TypeScript 函数与以及类的使用
一.函数 1.函数的基本使用 介绍 函数是JavaScript应用程序的基础.它帮助你实现抽象层,模拟类,信息隐藏和模块.在TypeScript里,虽然已经支持类,命名空间和模块,但函数仍然是主要的定 ...
- TypeScript函数与类的使用基础知识点
1.类的使用 1.1 类的基本使用 定义:TypeScript 是面向对象的JavaScript. 类描述了所创建的对象共同的属性和方法. ...
- 3、TypeScript 函数
目录 1. 函数的基本使用 2. 函数参数的处理 3. 构造函数 4. 函数重载 参数类型不同: 参数类型不同: 1. 函数的基本使用 介绍 函数是JavaScript应用程序的基础.它帮助你实现抽象 ...
- C++ 笔记(13)— 函数(函数声明、函数定义、函数调用[传值、指针、引用]、函数参数默认值、函数重载)
每个 C++ 程序都至少有一个函数,即主函数 main() ,所有简单的程序都可以定义其他额外的函数. 1. 函数声明 函数声明告诉编译器函数的名称.返回类型和参数.函数声明包括以下几个部分: ret ...
最新文章
- 给嵌入式工程师的一封信
- 你需要知道的Linux 系统下外设时钟管理
- java system sleep_详解Java中的sleep()和wait()的区别
- ACM Fellow发文抨击【同行评审】作弊轻松中顶会
- 【Java数据结构与算法】第十五章 B树、B+树和B*树
- linux的实际作用是什么,libcxxabi在linux下有意义吗?有什么好处?
- 算法和数据结构~Sqlserver索引使用的B树
- Python 算法交易实验30 退而结网7-交易策略思考
- linux libaio介绍
- Linux 环境下,搭建 ZooKeeper 集群
- 图片转为PDF怎么弄
- 什么是GPU服务器?如何正确选择?
- win10解决cmd无法切换盘符的问题
- 【统计分析系统--SAS介绍】
- 波动率曲面(完整版)
- fs.readFileSync 引入路径错误
- 2022年全国最新消防设施操作员(初级消防设施操作员)题库及答案
- JavaScript创始人Brendan Eich访谈录(转)
- 谷歌广告联盟怎么收款?推荐使用招商银行电汇秒到账
- 高尔夫热潮四月优雅袭卷鹏城,深圳值得期待的运动类别盛会