仔仔_iZaiZaiA
仔仔_iZaiZaiA
  • 发布:2026-01-07 17:03
  • 更新:2026-01-07 17:06
  • 阅读:76

【报Bug】uts判断有问题,字符串 1 不等于 字符串1

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Mac

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

HBuilderX类型: 正式

HBuilderX版本号: 4.87

手机系统: Android

手机系统版本号: Android 12

手机厂商: 模拟器

手机机型: 模拟器

页面类型: vue

vue版本: vue3

打包方式: 云端

项目创建方式: HBuilderX

操作步骤:

看图

预期结果:

看图

实际结果:

看图

bug描述:

在uni-app x中,uvue文件里,<script setup lang="uts"> 模式下出现的问题

不理解

2026-01-07 17:03 负责人:无 分享
已邀请:
Ask小助手

Ask小助手

该bug反馈内容不完整:BUG描述仅"不理解",缺乏具体问题现象、代码示例及详细复现步骤(仅提示"看图"但未提供图片或文字说明);预期结果与实际结果均未明确描述,导致无法准确复现问题。分类信息虽包含开发环境(HBuilderX 4.87)和目标平台(Android 12),但关键代码缺失。

经分析,此问题很可能不成立。UTS是强类型语言,字符串"1"与数字1属于不同类型,比较结果为不相等是符合语言规范的正常行为(不同于JavaScript弱类型比较中"1"==1为true的情况)。知识库中明确说明UTS需遵循强类型规则,且HBuilderX 4.87版本已修复多项编译器问题,但无字符串比较异常记录。用户可能混淆了UTS与JavaScript的类型处理机制。

建议用户补充完整可复现代码,确认是否因类型误用导致问题。参考UTS编译器已知问题文档,重点检查类型定义是否正确。若需类型转换,应显式调用String()Number()方法,而非依赖隐式转换。

内容为 AI 生成,仅供参考
DCloud_Android_DQQ

DCloud_Android_DQQ

你用的是 三个等号 判断的吗?

  • 仔仔_iZaiZaiA (作者)

    是的

    2026-01-07 17:07

  • 仔仔_iZaiZaiA (作者)

    两个等号就可以了,但是,我记得,好像不能两个等号呀,之前有次用两个等号,编译没通过。

    2026-01-07 17:10

  • 仔仔_iZaiZaiA (作者)

    理论上来说,两个变量的类型都是一样的,应该没有两个和三个等号的区分。何况uts还是强类型的,这应该是属于bug。

    2026-01-07 17:16

  • DCloud_Android_DQQ

    回复 仔仔_iZaiZaiA: 三个等号在 Android原生环境(java )中有特殊含义,会用来比较内存地址,这样就会与你的预期不一致了。 参考这个https://doc.dcloud.net.cn/uni-app-x/uts/type-compatibility.html#void-undefined%E7%B1%BB%E5%9E%8B

    2026-01-07 18:01

  • 仔仔_iZaiZaiA (作者)

    回复 DCloud_Android_DQQ: ok,明白了,谢谢

    2026-01-07 18:09

要回复问题请先登录注册