OpenHarmony开发者论坛

标题: ArkTs类的方法是否支持重载?怎么实现? [打印本页]

作者: 北向实践与赋能    时间: 2024-1-4 11:16
标题: ArkTs类的方法是否支持重载?怎么实现?
[md]ArkTs类的方法是否支持重载?怎么实现?
[/md]
作者: 北向实践与赋能    时间: 2024-1-4 11:16
标题: ArkTs类的方法是否支持重载?怎么实现?
[md]**关键字**
ArkTS,函数重载

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

```ts
// 声明
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
  }
}
```
[/md]




欢迎光临 OpenHarmony开发者论坛 (https://forums.openharmony.cn/) Powered by Discuz! X3.5