在ArkTS里为什么有不同参数(参数个数和类型都不同)但函数名相同的两个函数会报方法名冲突呢?

在ArkTS里为什么有不同参数(参数个数和类型都不同)但函数名相同的两个函数会报方法名冲突呢?

HarmonyOS
2024-05-30 23:04:23
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
makeer

当前ts不支持重载,我们可以通过编写重载签名,指定构造函数的不同调用方式。具体方法为,为同一个构造函数写入多个同名但签名不同的构造函数头,构造函数实现紧随其后。

function foo(): void; /* 第一个函数定义 */ 
function foo(x: string): void; /* 第二个函数定义 */ 
function foo(x?: string): void { /* 函数实现 */ 
  console.log(x) 
} 
 
foo() // OK,使用第一个定义 
foo('aa') // OK,使用第二个定义

文档链接:

函数重载

分享
微博
QQ
微信
回复
2024-05-31 22:17:47
相关问题
HarmonyOS 获取class实例上所有函数名
346浏览 • 1回复 待解决