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 最佳实践
147浏览 • 1回复 待解决
网络监听的最佳实践有哪些?
361浏览 • 1回复 待解决
应用内整体换肤的最佳实践
267浏览 • 1回复 待解决
HarmonyOS 沉浸式状态栏最佳实践
208浏览 • 1回复 待解决
web写入customUseragent最佳实践
109浏览 • 1回复 待解决
输出静态库的最佳实践
32浏览 • 1回复 待解决
视频和直播播放HarmonyOS最佳实践
543浏览 • 1回复 待解决
调试工程时提示警告怎么处理
212浏览 • 1回复 待解决
APP内整体置灰的最佳实践
178浏览 • 1回复 待解决
HarmonyOS 单列和瀑布流的最佳实践
96浏览 • 1回复 待解决
ArkTS中如何处理耗时操作?
404浏览 • 1回复 待解决
ArkTS后台代理提醒,需要如何处理
872浏览 • 1回复 待解决
ArkTS语法校验报错,该如何处理啊?
805浏览 • 1回复 待解决
ArkTS如何开启多个ArkTS 运行环境
1771浏览 • 1回复 待解决
提问
该提问已有0人参与 ,帮助了0人