在试图完全理解相等运算符和恒等运算符之间的区别时,我看到了 MSDN 上的一篇文章,解释了它们的内部工作原理,但我仍然有一些疑问,于是我决定创建一个流程图,以便我能够更好地理解。现在我的问题是,这个流程图正确吗?还是我漏掉了什么?
我也理解恒等运算符 (===) 的工作方式几乎相同,但在第一步不尝试将 A 和 B 转换为布尔值、数字或字符串。这样对吗?
您也可以在这里看到图片:
好的,这是真正的事情,这是一个原则问题 ;)
在试图完全理解相等运算符和恒等运算符之间的区别时,我看到了 MSDN 上的一篇文章,解释了它们的内部工作原理,但我仍然有一些疑问,于是我决定创建一个流程图,以便我能够更好地理解。现在我的问题是,这个流程图正确吗?还是我漏掉了什么?
我也理解恒等运算符 (===) 的工作方式几乎相同,但在第一步不尝试将 A 和 B 转换为布尔值、数字或字符串。这样对吗?
您也可以在这里看到图片:
好的,这是真正的事情,这是一个原则问题 ;)
编辑:你的第二张图是准确的,尽管它仍然存在一些奇怪的布局决策。
==
运算符的抽象比较算法”,答案是“否”。最好的开始位置是规范:抽象相等比较算法。 - RobG