function getStatusBarHeight():UTSJSONObject {
let parseRes: UTSJSONObject = {}
const systemInfo:string = uni.getStorageSync("systemInfo")
if(systemInfo && systemInfo !== null){
parseRes = JSON.parse<UTSJSONObject>(systemInfo)
}
return parseRes
}
GV000
- 发布:2023-12-01 18:43
- 更新:2023-12-01 20:46
- 阅读:483
2 个回复
GV000 (作者) - 全栈开发工程师
error: Type mismatch: inferred type is UTSJSONObject? but UTSJSONObject was expected
这是报错内容
parseRes = JSON.parse<UTSJSONObject>(systemInfo)
这是报错代码
YUANRJ
JSON.parse可能会返回null,需要加非空断言。
GV000 (作者)
加了,报错如下
error: Type mismatch: inferred type is String but Boolean was expected
报错代码
if(systemInfo && systemInfo !== null){
2023-12-01 20:35
YUANRJ
回复 e***@163.com: 已更新回复,最好做下类型判断
2023-12-01 20:50
GV000 (作者)
回复 YUANRJ:
function getStatusBarHeight():UTSJSONObject {
let parseRes: UTSJSONObject = {}
const systemInfo:string = uni.getStorageSync("systemInfo") as string
if(systemInfo !== ""){
parseRes = JSON.parse<UTSJSONObject>(systemInfo)!
}
// parseRes = JSON.parse<UTSJSONObject>(systemInfo)!
return parseRes
}
你那个写法会有警告,这样好像就没有问题了
2023-12-01 20:52