HarmonyOS 鸿蒙Next外部har包无法识别null和undefined类型
HarmonyOS 鸿蒙Next外部har包无法识别null和undefined类型 无论是自己的har包,还是外部的har包依赖
函数定义是string类型,但是传入null和undefined也不好报错
编辑器要怎么配置才可以
比如我引入腾讯的mmkv库,传参本来要求string的,但是我传入null和undefined也可以
在前端里面可以配置strictNullChecks,鸿蒙里面没看到相关的配置
判断类型是否合格, 不合格直接抛出异常, 一般提供给外部的接口, 参数都是会声明类型的, 没有代码的话不清楚具体要怎么做
更多关于HarmonyOS 鸿蒙Next外部har包无法识别null和undefined类型的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
参数已经声明了类型
比如我外部har的函数是
test(a: string){}
引入har包,在主工程里面写代码
test(null)
test(undefined)
编辑器均不会报错
如果是本项目内的函数,会报错
目前识别到是,无法识别外部har的null
和undefined
,
你还是没理解我的意思, 既然对外接口收到的参数类型非法, 为什么不能给他抛出一个异常呢?识别不了就识别不了呗,
姓名: 张三
职位: 软件工程师
简介: 拥有超过10年的软件开发经验,擅长Java和Python编程。
不清楚具体代码是怎样的, 但是你可以封装一个类, 先对参数类型进行判断, 如果符合, 才允许继续执行
主要是提供给外部使用的时候,无法限制类型,
在HarmonyOS鸿蒙Next中,外部har包无法识别null
和undefined
类型的问题,通常是由于鸿蒙Next的类型系统在处理这些类型时与外部har包的预期不匹配所导致。鸿蒙Next的类型系统基于TypeScript,但在某些情况下,外部har包可能未正确处理或传递null
和undefined
类型的值,导致运行时错误或类型推断失败。
具体原因可能是外部har包的代码在编译或打包过程中,未明确处理null
和undefined
类型,或者鸿蒙Next的类型检查机制未正确识别这些类型的传递。此外,鸿蒙Next的类型系统可能与外部har包的版本或依赖存在兼容性问题,导致类型信息丢失或不一致。
解决此问题需要确保外部har包的代码在处理null
和undefined
类型时符合鸿蒙Next的类型系统要求,并且在编译和打包过程中正确保留类型信息。