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

Posted

技术标签:

【中文标题】三等号 (===) 在 AssemblyScript 中的行为是不是不同?【英文标题】:Does the triple equal sign (===) behave differently in AssemblyScript?三等号 (===) 在 AssemblyScript 中的行为是否不同? 【发布时间】:2020-03-19 16:02:53 【问题描述】:

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

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

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

【问题讨论】:

【参考方案1】:

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

有建议避免这种非标准的 TypeScript 行为。你可以查看并点赞this issue

【讨论】:

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

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

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

我可以使用三等号进行 JavaScript 字符串比较吗?

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

js中两个等号(==)和三个等号(===)的区别

如何使 ruby​​ 案例语句使用等于 (==) 而不是三等号 (===)