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 最佳实践
20浏览 • 1回复 待解决
网络监听的最佳实践有哪些?
302浏览 • 1回复 待解决
应用内整体换肤的最佳实践
207浏览 • 1回复 待解决
web写入customUseragent最佳实践
44浏览 • 1回复 待解决
HarmonyOS 沉浸式状态栏最佳实践
138浏览 • 1回复 待解决
视频和直播播放HarmonyOS最佳实践
474浏览 • 1回复 待解决
HarmonyOS 单列和瀑布流的最佳实践
66浏览 • 1回复 待解决
APP内整体置灰的最佳实践
127浏览 • 1回复 待解决
调试工程时提示警告怎么处理
185浏览 • 1回复 待解决
ArkTS后台代理提醒,需要如何处理
820浏览 • 1回复 待解决
ArkTS中如何处理耗时操作?
353浏览 • 1回复 待解决
ArkTS语法校验报错,该如何处理啊?
776浏览 • 1回复 待解决
ArkTS如何开启多个ArkTS 运行环境
1738浏览 • 1回复 待解决
提问
该提问已有0人参与 ,帮助了0人