HarmonyOS 如何方便的自定义对象传参数

如何方便的自定义对象传参数

HarmonyOS
2天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
Excelsior_abit

在ArkTS语法中对于字典是有约束的,使用map只能通过set的方式在ArkTS中,对象的属性名不能为数字或字符串。例外:ArkTS支持属性名为字符串字面量和枚举中的字符串值。通过属性名访问类的属性,通过数值索引访问数组元素。ArkTS中:

class X {
  public name: string = ''
}
let x: X = { name: 'x' };
console.log(x.name);

let y = ['a', 'b', 'c'];
console.log(y[2]);

在需要通过非标识符(即不同类型的key)获取数据的场景中,使用Map<Object, some_type>。

let z = new Map<Object, string>();
z.set('name', '1');
z.set(2, '2');
console.log(z.get('name'));
console.log(z.get(2));

enum Test {
  A = 'aaa',
  B = 'bbb'
}

let obj: Record<string, number> = {
  [Test.A]: 1,   // 枚举中的字符串值
  [Test.B]: 2,   // 枚举中的字符串值
  ['value']: 3   // 字符串字面量
}
分享
微博
QQ
微信
回复
2天前
相关问题
HarmonyOS 自定义编译构建参数
96浏览 • 1回复 待解决
如何在BuildProfile中自定义参数
281浏览 • 1回复 待解决
如何自定义拼接设置UserAgent参数
2306浏览 • 3回复 待解决
自定义参数BuildProfile问题汇总
1710浏览 • 1回复 待解决
如何理解自定义弹窗中gridCount参数
2300浏览 • 1回复 待解决
json 如何转换成自定义业务类对象
803浏览 • 1回复 待解决
自定义配置参数设定有会吗?
1856浏览 • 1回复 待解决
如何实现ArkTS与C/C++对象传
670浏览 • 1回复 待解决
HarmonyOS如何自定义组件Controller?
369浏览 • 1回复 待解决
HarmonyOS 如何自定义注解?
251浏览 • 1回复 待解决
HarmonyOS 如何自定义tab
434浏览 • 2回复 待解决