三等号(===)在AssemblyScript中的行为是否不同?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了三等号(===)在AssemblyScript中的行为是否不同?相关的知识,希望对你有一定的参考价值。

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

偶然地,我在对十六进制字符串执行相等检查的函数中将双等号(“ ==”)更改为三等号(“ ===”)。我花了几个小时来确保检查的值确实相等并且具有相同的大小写敏感性,但是除了返回“ ==“。

,if语句无法进入我期望它进入的分支。

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

答案

是。在AssemblyScript中,三元组等于(“ ===”),比较原始引用并跳过重载运算符(“ ==”)。参见docs

有建议避免这种非标准的TypeScript行为。您可以检查并投票this issue

以上是关于三等号(===)在AssemblyScript中的行为是否不同?的主要内容,如果未能解决你的问题,请参考以下文章

assemblyScript

为啥 AssemblyScript 中的 store() 不在指定指针处存储数据?

Scala Koans 中的 ===(三等号)运算符是啥?

优化的 AssemblyScript 仍然是 4K,用于简单的乘法

双等号 (==) 和三等号 (===) 之间的 JavaScript 性能差异

双等号 (==) 和三等号 (===) 之间的 JavaScript 性能差异