1

我使用的供应商将他们的软件与 AssemblyScript 打包在一起。他们提供了一些基础设施,我在它之上构建。

意外地,我在对十六进制字符串执行相等检查的函数中将双等号 ("==") 更改为三等号 ("===")。我花了几个小时确保检查的值确实相等并且具有相同的大小写敏感性,但是没有什么可以使 if 语句进入我期望它进入的分支,除了返回到“==”。

所以我最终来到这里,寻求帮助。"===" 与 AssemblyScript 中的 "==" 有何不同?是语言本身的怪癖还是供应商的解析器?

4

1 回答 1

1

是的。在 AssemblyScript 三等号(“===”)中比较原始引用并跳过重载运算符(“==”)。请参阅文档

有建议避免这种非标准的 TypeScript 行为。你可以检查并支持这个问题

于 2019-11-24T02:07:42.147 回答