HarmonyOS 鸿蒙Next 不支持赋值

发布于 1周前 作者 h691938207 来自 鸿蒙OS

HarmonyOS 鸿蒙Next 不支持赋值

cke_137.png

问题太多了,userStatus 可以为空,就不能像其他语言一样,不处理就行了么!!! 非得报个错。你们到底是怎么想的。

6 回复
楼主 提供简易的demo,以便分析

class Menu { static A: string = “A” static B: string = “B” static C: string = “C” }

let map: HashMap<string, number> = new HashMap() map.set(Menu.A, 123) map.set(Menu.B, 456) log.error(TAG, map.get(Menu.A)) log.error(TAG, map.get(Menu.B)) log.error(TAG, map.get(Menu.C))

麻烦好好分析下,为什么Map不支持这种string

真是毁三观的语言

cke_124.png

cke_347.png

cke_379.png

返回类型慌乱,返回的都是 非空 非undefind 类型,为什么会返回 undefind,毫无安全可言

cke_134.png

cke_310.png

cke_554.png

代码是又臭又长,其他语言的话,早通过扩展解决这个问题了。你们又不让我们扩展。

针对您提出的“HarmonyOS 鸿蒙Next 不支持赋值”这一问题,首先需要明确的是,HarmonyOS 鸿蒙Next 并非完全不支持赋值操作。赋值是编程中的基本操作,通常用于给变量或对象属性分配值。

然而,在HarmonyOS 鸿蒙Next的开发中,特别是在使用ArkTS框架时,可能会遇到一些特定的限制。例如,尝试修改JavaScript中原型(prototype)的属性或方法时,会遇到“Prototype assignment is not supported (arkts-no-prototype-assignment)”的错误。这是因为鸿蒙系统为了保证代码的安全性和框架的稳定性,对直接修改对象原型的操作进行了限制。

此外,在HarmonyOS 鸿蒙Next中,值类型变量和引用类型变量的赋值行为也存在差异。值类型变量赋值时会产生拷贝操作,而引用类型变量赋值时只是改变了引用关系。

如果您在开发过程中遇到了具体的赋值问题,建议检查代码是否符合鸿蒙框架的规范,以及是否存在对原型或其他受限操作的非法修改。如果问题依旧没法解决,请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部