HarmonyOS鸿蒙Next严格模式下报错
HarmonyOS鸿蒙Next严格模式下报错 定义了一个接口,在新建接口时报错,报 Object literal must correspond to some explicitly declared class or interface (arkts-no-untyped-obj-literals) <ArkTSCheck> 错误
export interface QueryCallback { onSuccess(resVo: ResVo): void; onFailed(resVo: ResVo, code: number, msg: string): void; }
let callback: QueryCallback = { onSuccess: (resVo: ResVo) => {}, onFailed: (resVo: ResVo, code: number, msg: string) => {} }
开发工具里面提示报错
更多关于HarmonyOS鸿蒙Next严格模式下报错的实战教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS鸿蒙Next的严格模式下,报错通常是由于代码不符合严格模式的规范要求。严格模式是鸿蒙系统为了提高代码质量和安全性而引入的一种开发模式,它会检查代码中的潜在问题,如未声明的变量、重复的属性名等。在严格模式下,开发者需要遵循更严格的编码规范,否则会导致报错。
具体来说,严格模式下的报错可能包括以下几种情况:
-
未声明的变量:在严格模式下,使用未声明的变量会直接报错,而不是隐式地创建一个全局变量。
-
删除变量、函数或函数参数:严格模式下,尝试删除变量、函数或函数参数会报错。
-
重复的属性名:在对象字面量中,严格模式下不允许出现重复的属性名。
-
禁止使用
with
语句:严格模式下,with
语句被禁用,使用会导致报错。 -
禁止使用
eval
创建变量:严格模式下,eval
不会在局部作用域中创建变量。 -
禁止使用
arguments.caller
和arguments.callee
:严格模式下,这两个属性被禁用,使用会导致报错。 -
禁止使用八进制字面量:严格模式下,八进制字面量(如
0123
)会导致报错。 -
禁止对只读属性赋值:严格模式下,尝试对只读属性赋值会报错。
-
禁止删除不可删除的属性:严格模式下,尝试删除不可删除的属性(如
delete Object.prototype
)会报错。 -
禁止使用
this
指向全局对象:在严格模式下,this
不会指向全局对象,而是undefined
,如果代码依赖这种行为,可能会导致报错。
解决这些报错的方法通常是检查代码是否符合严格模式的规范,并进行相应的修改。
在HarmonyOS鸿蒙Next的严格模式下报错,通常是由于代码不符合严格模式的要求。严格模式要求开发者编写更规范、更安全的代码,避免潜在的错误和漏洞。建议检查代码中是否存在未声明的变量、重复的属性名、不规范的语法等问题,并按照严格模式的要求进行修正。例如,确保所有变量都使用let
或const
声明,避免使用eval
等不安全的方法。