为什么会这样';javascript/ecmascript是否只使用严格相等运算符?

为什么会这样';javascript/ecmascript是否只使用严格相等运算符?,javascript,ecmascript-5,Javascript,Ecmascript 5,为什么javscript不使用严格相等运算符而不是抽象运算符和严格相等运算符 我在IRC上问过,有人评论说微软不想让“==”的功能进入“==”,因为它会破坏网站。不过,没有人能提供任何关于这方面的参考资料。不久之后,另一个人也对微软的指责表示怀疑 有谁能提供有关引用为何会出现这种情况的信息吗?我相信这是因为他们希望允许某种形式的隐式类型转换。我认为问题真正来自这样一个事实,即这些规则(虽然是出于善意的,而且单独来说也没有太大的危害)在结合起来的时候,或者在帖子抨击“==”中通常提到的“gotch

为什么javscript不使用严格相等运算符而不是抽象运算符和严格相等运算符

我在IRC上问过,有人评论说微软不想让“==”的功能进入“==”,因为它会破坏网站。不过,没有人能提供任何关于这方面的参考资料。不久之后,另一个人也对微软的指责表示怀疑


有谁能提供有关引用为何会出现这种情况的信息吗?

我相信这是因为他们希望允许某种形式的隐式类型转换。我认为问题真正来自这样一个事实,即这些规则(虽然是出于善意的,而且单独来说也没有太大的危害)在结合起来的时候,或者在帖子抨击“==”中通常提到的“gotcha”案例中,变得可怕。我个人喜欢有一种选择,尽管不知道它的存在可能是危险的。

我相信这是因为他们希望允许某种形式的隐式类型转换。我认为问题真正来自这样一个事实,即这些规则(虽然是出于善意的,而且单独来说也没有太大的危害)在结合起来的时候,或者在帖子抨击“==”中通常提到的“gotcha”案例中,变得可怕。我个人喜欢有一个选项,尽管不知道它的存在可能是危险的。

JavaScript使用类型强制在不同类型的值之间自动转换。然而,有时人们想要区分
“1”和
1
,或者
1
true
。这就是
=
==
(以及
!=
之间的根本区别)。如果没有这种区别(比如说,
==
被删除),人们就必须跳转测试类型和值的相等性(如果
=
的功能被删除,与类型无关的值测试也是如此)


我没有听说过微软的故事。我怀疑这是假的,并认为这是某些人的一种倾向,他们认为微软的每一个罪恶都是罪魁祸首。然而,如果微软、Mozilla、谷歌、雅虎、几乎所有有经验的JS程序员都能接受
=
==
的合并,我会非常惊讶。它确实会破坏大量代码,并从语言中删除一个非常有用的工具。

JavaScript使用类型强制在不同类型的值之间自动转换。然而,有时人们想要区分
“1”和
1
,或者
1
true
。这就是
=
==
(以及
!=
之间的根本区别)。如果没有这种区别(比如说,
==
被删除),人们就必须跳转测试类型和值的相等性(如果
=
的功能被删除,与类型无关的值测试也是如此)


我没有听说过微软的故事。我怀疑这是假的,并认为这是某些人的一种倾向,他们认为微软的每一个罪恶都是罪魁祸首。然而,如果微软、Mozilla、谷歌、雅虎、几乎所有有经验的JS程序员都能接受
=
==
的合并,我会非常惊讶。它确实会破坏大量代码,并从语言中删除一个非常有用的工具。

为什么首先要这么做?我个人认为==是有用的。
=
便于检查数字与数字字符串,因为。。就是这样。
==
的转换与JavaScript的其他弱类型方面相结合,比如
if(expr)
str+number
。为什么首先要这样做?我个人认为==是有用的。
=
便于检查数字与数字字符串,因为。。就是这样。
=
的转换与JavaScript的其他弱类型方面相结合,比如
str+number
if(expr)
。OT:祝贺你获得了10万(我想这是我的选票xD)@user2864740-我想这确实是你的选票。当我看到你的评论时,我的电话号码是100007+1.隐式类型转换在处理主机对象时非常方便,其中的值可以作为类型号或字符串返回。如果(x='0'| | x==0)
,那么总是在写
,这将是一个PITA。唯一真正奇怪的是
未定义的
NaN
Null
的行为,否则就很简单了。OT:祝贺你获得了10万张选票(我想这是我的选票xD)@user2864740-我想这确实是你的选票。当我看到你的评论时,我的电话号码是100007+1.隐式类型转换在处理主机对象时非常方便,其中的值可以作为类型号或字符串返回。如果(x='0'| | x==0)
,那么总是在写
,这将是一个PITA。唯一真正奇怪的是
未定义的
NaN
Null
的行为,否则就相当简单了。