2***@qq.com
2***@qq.com
  • 发布:2024-07-03 14:25
  • 更新:2024-10-21 16:23
  • 阅读:387

【报Bug】类型不匹配: 推断类型是Number?(可为空的Number),但预期的是Number

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: win11

HBuilderX类型: 正式

HBuilderX版本号: 4.22

手机系统: 全部

手机厂商: 华为

页面类型: vue

vue版本: vue3

打包方式: 云端

项目创建方式: HBuilderX

测试过的手机:

随便

操作步骤:

如代码

预期结果:

如代码

实际结果:

报错

bug描述:

function stringToBytes(str : string) : number[] {  
    let bytes : number[] = [];  
    for (let i = 0; i < str!.length; ++i) {  
        let charCode:Number = 0;  
        if (nfcAdapter !== null) {  
            charCode = str.charCodeAt(i);  
        }else{  
            return bytes;  
        }  
        // Push high and low bytes for non-BMP characters  
        if (charCode < 0x80) {  
            bytes.push(charCode);  
        } else if (charCode < 0x800) {  
            bytes.push(0xc0 | (charCode >> 6), 0x80 | (charCode & 0x3f));  
        } else if (charCode < 0xd800 || charCode >= 0xe000) {  
            bytes.push(  
                0xe0 | (charCode >> 12),  
                0x80 | ((charCode >> 6) & 0x3f),  
                0x80 | (charCode & 0x3f)  
            );  
        } else {  
            // Surrogate pairs  
            let nextCharCode = str?.charCodeAt(++i);  
            let codePoint = 0x10000 + ((charCode & 0x3ff) << 10) + (nextCharCode & 0x3ff);  
            bytes.push(  
                0xf0 | (codePoint >> 18),  
                0x80 | ((codePoint >> 12) & 0x3f),  
                0x80 | ((codePoint >> 6) & 0x3f),  
                0x80 | (codePoint & 0x3f)  
            );  
        }  
    }  
    return bytes;  
}
2024-07-03 14:25 负责人:无 分享
已邀请:
DCloud_Android_DQQ

DCloud_Android_DQQ

需要定位到具体报错的行号。 报错信息的意思是 需要给 Number 加断言 参考 https://doc.dcloud.net.cn/uni-app-x/uts/data-type.html#%E9%9D%9E%E7%A9%BA%E6%96%AD%E8%A8%80

  • 2***@qq.com (作者)

    加上断言还是报这个错。不过还是谢谢你。

    2024-07-05 09:59

Dummer

Dummer

这样调用 stringToBytes(item!.status as number)

要回复问题请先登录注册