API10的严格语法strictPropertyInitialization的修改方法
通过实践,发现有两种修改方式均可编译通过,两种方法有什么推荐。
以上代码API10下编译报错:Property ‘res1’ has no initializer and is not definitely assigned in the constructor.
如下有两个改法,均可编译通过,请问两种改法的优劣和建议?
HarmonyOS
赞
收藏 0
回答 1
相关问题
deveco studio中如何升级API10?
3912浏览 • 1回复 已解决
API9和API10实现沉浸式窗口的方式
412657浏览 • 1回复 待解决
API10有没有接口能获取到系统的运行内存?
1477浏览 • 1回复 待解决
API11编译的har包可以在api10上使用吗
2725浏览 • 1回复 待解决
HarmonyOS api10如何给子窗口设置圆角
1164浏览 • 1回复 待解决
HarmonyOS 如果API方法10+以后的怎么兼容,API为10之前的
627浏览 • 1回复 待解决
Json数据解析,原有是通过索引访问字段的方式obj[xxx-xxx.yy]的方式获取,ArkTS严格语法后,无法调用
985浏览 • 1回复 待解决
看到Screenshot,但是api10没找到,想要截取屏幕中的某个column
2237浏览 • 1回复 待解决
ListItem.editable 中的 EditMode.movable 在 api10 移除了有其他方案实现拖动排序吗?
2173浏览 • 1回复 待解决
开发者使用HarmonyOS时,是否需要考虑接口兼容性,例如API10和API11
2684浏览 • 1回复 待解决
鸿蒙OS API10 想给UI组件设置背景颜色,背景颜色渐变? 如何实现呢?
4093浏览 • 1回复 待解决
对象取值在api10中不支持这样取值 listItem[item],只能json 转两次
1382浏览 • 1回复 待解决
Arkts中是否有严格校验类型的json字符串转为指定model的方法
1668浏览 • 1回复 待解决
HarmonyOS SDK如何升级API 10
5237浏览 • 1回复 待解决
HarmonyOS 如何修改hilog阈值的方法
590浏览 • 1回复 待解决
bean类系统自动生成的set方法报语法错误
2384浏览 • 1回复 待解决
开启了严格的ArkTS语言检查,JSON的取值方案
2734浏览 • 1回复 待解决
api 10或者11怎么打开wifi开关?
1647浏览 • 0回复 待解决
HarmonyOS API 10 无法集成 AGC SDK,编译报错
1832浏览 • 1回复 待解决
在如下语法中,这是ArkTS的语法还是TypeScript中的语法,在TypeScript中没找到具体说明
1202浏览 • 1回复 待解决
HarmonyOS ArkTS语法的问题
1151浏览 • 1回复 待解决
HarmonyOS 请问一下ArkTs是否有提供类似Java反射的语法或者API
1484浏览 • 1回复 待解决
iimsimsiHarmonyOS 获取和清理缓存的API方法
857浏览 • 1回复 待解决
Deveco studio,API版本4.0.0(10),报错什么原因啊?
3807浏览 • 1回复 待解决
HarmonyOS NavDestination的onShown方法中修改导航栏颜色无效
770浏览 • 1回复 待解决
推荐使用改法1,在使用时会有类型检查从TypeScript到ArkTS的适配规则 ,
强制进行严格类型检查规则:arkts-strict-typing
级别:错误
在编译阶段,会进行TypeScript严格模式的类型检查,包括:
noImplicitReturns,
strictFunctionTypes,
strictNullChecks,
strictPropertyInitialization。
TypeScript
在定义类时,如果无法在声明时或者构造函数中初始化某实例属性,那么可以使用确定赋值断言符!来消除strictPropertyInitialization的报错。使用确定赋值断言符会增加代码错误的风险,开发者需要保证该实例属性在被使用前已被赋值,否则可能会产生运行时异常。使用确定赋值断言符会增加运行时的类型检查,从而增加额外的运行时开销,所以应尽可能避免使用确定赋值断言符。使用确定赋值断言符将产生warning: arkts-no-definite-assignment。
相关约束:
使用具体的类型而非any或unknown不允许通过注释关闭类型检查。