HarmonyOS 鸿蒙Next外部har包无法识别null和undefined类型

HarmonyOS 鸿蒙Next外部har包无法识别null和undefined类型 无论是自己的har包,还是外部的har包依赖

函数定义是string类型,但是传入null和undefined也不好报错

编辑器要怎么配置才可以

比如我引入腾讯的mmkv库,传参本来要求string的,但是我传入null和undefined也可以

在前端里面可以配置strictNullChecks,鸿蒙里面没看到相关的配置

7 回复

判断类型是否合格, 不合格直接抛出异常, 一般提供给外部的接口, 参数都是会声明类型的, 没有代码的话不清楚具体要怎么做

更多关于HarmonyOS 鸿蒙Next外部har包无法识别null和undefined类型的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


参数已经声明了类型

比如我外部har的函数是

test(a: string){}

引入har包,在主工程里面写代码

test(null)
test(undefined)

编辑器均不会报错

如果是本项目内的函数,会报错

目前识别到是,无法识别外部har的nullundefined

你还是没理解我的意思, 既然对外接口收到的参数类型非法, 为什么不能给他抛出一个异常呢?识别不了就识别不了呗,

姓名: 张三
职位: 软件工程师
简介: 拥有超过10年的软件开发经验,擅长Java和Python编程。

不清楚具体代码是怎样的, 但是你可以封装一个类, 先对参数类型进行判断, 如果符合, 才允许继续执行

主要是提供给外部使用的时候,无法限制类型,

在HarmonyOS鸿蒙Next中,外部har包无法识别nullundefined类型的问题,通常是由于鸿蒙Next的类型系统在处理这些类型时与外部har包的预期不匹配所导致。鸿蒙Next的类型系统基于TypeScript,但在某些情况下,外部har包可能未正确处理或传递nullundefined类型的值,导致运行时错误或类型推断失败。

具体原因可能是外部har包的代码在编译或打包过程中,未明确处理nullundefined类型,或者鸿蒙Next的类型检查机制未正确识别这些类型的传递。此外,鸿蒙Next的类型系统可能与外部har包的版本或依赖存在兼容性问题,导致类型信息丢失或不一致。

解决此问题需要确保外部har包的代码在处理nullundefined类型时符合鸿蒙Next的类型系统要求,并且在编译和打包过程中正确保留类型信息。

回到顶部