TS - 函数重载的理解:

简介: TS - 函数重载的理解:

    为什么要有函数重载他是解决什么问题的呢?

               例如在我们平常写函数的时候 用到几个函数他们的功能都相同但是细节有些小不同例如传入的参数类型不同 这时就需要定义多个函数去实现很繁杂 而函数重载就是用来解决这种问题的

               函数重载是定义多个具有相同函数名,他们的参数列表可以不同 参数可以有不同的类型 参数个数不同 顺序不同等 但是函数名必须相同

               函数重载是一种多态性的表现 它允许在同一个作用域定义多个同名函数 便于我们调用不同函数 提高代码可读性和可维护性

               函数重载是在编译时进行决策 而不是在运行时进行决策 所以函数重载的性能影响非常小


 函数重载规则

  1. 有一个实现签名 + 一个或多个重载签名合成
  2. 但外部调用函数重载定义的函数时,只能调用重载签名,不能调用实现签名
  3. 调用重载签名的函数时,会根据传递的参数来判断你调用的是哪一个函数
  4. 只有一个函数体,只有实现签名配备了函数体,所有的重载签名都只有签名, 没有配备函数体


函数重载的优势

  1. 结构分明
  2. 各司其职,自动提示方法和属性
  3. 更利于功能拓展
相关文章
|
11月前
|
前端开发 JavaScript
Webpack 中多个 Loader 的配置
【10月更文挑战第12天】使用多个 Loader 进行配置是 Webpack 中常见的操作,可以实现对各种资源的精细处理和优化。在配置时,需要根据具体需求合理选择和排列 Loader,并注意它们之间的顺序和交互关系。同时,不断了解和掌握新的 Loader 以及它们的特性,有助于更好地发挥 Webpack 的强大功能,提升项目的开发效率和质量。通过深入理解和熟练运用多个 Loader 的配置方法,你将能够更加灵活地处理各种资源,满足项目的多样化需求。
312 58
|
11月前
LangChain-26 Custom Agent 自定义一个Agent并通过@tool绑定对应的工具 同时让大模型自己调用编写的@tools函数
LangChain-26 Custom Agent 自定义一个Agent并通过@tool绑定对应的工具 同时让大模型自己调用编写的@tools函数
364 3
LangChain-26 Custom Agent 自定义一个Agent并通过@tool绑定对应的工具 同时让大模型自己调用编写的@tools函数
|
JavaScript 前端开发 Shell
NPM 自定义 package.json 中 scripts 命令(& 与 && 的区别,cross-env 的使用)
NPM 自定义 package.json 中 scripts 命令(& 与 && 的区别,cross-env 的使用)
552 0
|
网络协议 安全 Java
Wireshark抓取Android数据包
Wireshark抓取Android数据包
2290 0
|
API 开发工具
MAC 环境变量设置方法
本文介绍在MAC环境下设置环境变量的方法,以“DASHSCOPE_API_KEY”为例,图文展示设置环境变量的操作方法。
|
JavaScript 前端开发 数据安全/隐私保护
Proxy 与 Object.defineProperty 优劣对比
Proxy 与 Object.defineProperty 优劣对比
291 0
|
JavaScript
js监听页面或元素scroll事件,滚动到底部或顶部
js监听页面或元素scroll事件,滚动到底部或顶部
1490 0
js监听页面或元素scroll事件,滚动到底部或顶部
|
存储 SQL Java
TDengine配置
【5月更文挑战第13天】TDengine配置
333 0
|
前端开发 定位技术 API
不用钱!纯前端打包下载离线瓦片地图
简直无语,瓦片地图明明是开放的,不用钱的,竟然有网站和程序要收费,本人绝不当冤大头,自己动手丰衣足食! 其实也有某些免费下载离线地图的良心程序,但因为下载瓦片的请求太频繁了,搞得打开该地图的时候卡死,被人家服务器记住了!
不用钱!纯前端打包下载离线瓦片地图
|
JavaScript Unix Shell
#! /usr/bin/env node 命令与 npm link 建立项目间软连接(一)
#! /usr/bin/env node 命令与 npm link 建立项目间软连接(一)
453 0