ArkTS警告处理最佳实践(ArkTS-no-definite-assignment)

ArkTS编译的时候有一些警告,例如下面这种变量定义的!语法,会有警告

Definite assignment assertions are not supported (ArkTS-no-definite-assignment) <ArkTSCheck>

官方的解决办法是在定义的时候或者构造函数的时候进行初始化,但是有些对象类型是Interface或者type,这种类型如何进行初始化?有没有解决这种警告的最佳实践。

private applicationContext!:common.ApplicationContext

private uiAbilityContext!:common.UIAbilityContext

private uiContext!: UIContext

private windowStage!: window.WindowStage

HarmonyOS
2024-09-14 12:15:52
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
put_get

推荐用null的方式去初始化对象类型,但使用的地方需要判空,请参考:private applicationContext: common.ApplicationContext|null=null;private uiAbilityContext: common.UIAbilityContext|null=null;private uiContext: UIContext|null=null;private windowStage: window.WindowStage|null=null;

对于判空的地方太多这个问题,目前没有优化方案,增加判空是为了安全性考虑,如果缺少判空,后续可能会遇到崩溃。

告警目前规格是无法配置消除。

分享
微博
QQ
微信
回复
2024-09-14 17:42:40
相关问题
HarmonyOS jsBridge 最佳实践
290浏览 • 1回复 待解决
web写入customUseragent最佳实践
250浏览 • 1回复 待解决
HarmonyOS 事件传递最佳实践咨询
20浏览 • 1回复 待解决
应用内整体换肤的最佳实践
470浏览 • 1回复 待解决
网络监听的最佳实践有哪些?
452浏览 • 1回复 待解决
输出静态库的最佳实践
244浏览 • 1回复 待解决
HarmonyOS 沉浸式状态栏最佳实践
294浏览 • 1回复 待解决
视频和直播播放HarmonyOS最佳实践
802浏览 • 1回复 待解决
HarmonyOS 单列和瀑布流的最佳实践
246浏览 • 1回复 待解决
APP内整体置灰的最佳实践
274浏览 • 1回复 待解决
调试工程时提示警告怎么处理
299浏览 • 1回复 待解决
如何在ArkTS处理异常?
214浏览 • 0回复 待解决
提问
该提问已有0人参与 ,帮助了0人