ArkTs类的方法是否支持重载?怎么实现?

北向实践与赋能 显示全部楼层 发表于 2024-1-4 11:16:05

ArkTs类的方法是否支持重载?怎么实现?

您尚未登录,无法参与评论,登录后可以:
参与开源共建问题交流
认同或收藏高质量问答
获取积分成为开源共建先驱

精彩评论1

北向实践与赋能

沙发 发表于 2024-1-4 11:16:54

ArkTs类的方法是否支持重载?怎么实现?

关键字 ArkTS,函数重载

解决方案 当前ArkTS支持TS中的重载,即多个重载签名 + 实现签名 + 函数体的形式。函数签名只用在编译期进行类型检查,不保留到运行时。 ArkTS不支持多个函数体实现的重载。 示例:

// 声明
function test(param: User): number;
function test(param: number, flag: boolean): number;
// 实现
function test(param: User | number, flag?: boolean) {
  if (typeof param === 'number') {
    return param + (flag ? 1 : 0)
  } else {
    return param.age
  }
}

Copyright   ©2023  OpenHarmony开发者论坛  京ICP备2020036654号-3 |技术支持 Discuz!

返回顶部