简体中文
UTS语言并没有对for..in进行特殊处理,所以开发者在UTS中使用for..in 语法时,会触发各个平台具体内置规则。可以运行,但执行效果与web 存在一定的差异。
下面我们列出了UTS内置对象对for..in的支持情况
类型 | Web | Android | ios |
---|---|---|---|
Array | 返回索引 | 返回数值 | 返回数值 |
Set | 不可枚举 | 返回数值 | 返回数值 |
Map | 不可枚举 | 返回键值对 | 返回键值对 |
String | 返回索引 | 返回字符 | 返回字符 |
自定义type | 返回属性名 | 返回属性名 | 返回属性名 |
UTSJSONObject | 返回属性名 | 返回属性名 | 返回属性名 |
与可迭代不同,UTS语言尚不支持对可枚举协议进行自定义。
对于可枚举协议(for..in) 出于历史代码的兼容性原因,HBuilderX 4.41之后与之前版本保持一致,即 各平台的运行依然存在差异。
单从访问对象内部属性的角度。我们认为可迭代 是一种更现代化语法,建议开发者通过 for..of 来实现对对象内部属性的遍历。