在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 // 字符串字面量 }
在ArkTS语法中对于字典是有约束的,使用map只能通过set的方式在ArkTS中,对象的属性名不能为数字或字符串。例外:ArkTS支持属性名为字符串字面量和枚举中的字符串值。通过属性名访问类的属性,通过数值索引访问数组元素。ArkTS中:
在需要通过非标识符(即不同类型的key)获取数据的场景中,使用Map<Object, some\_type\>。