Javascript 始终具有三重相等的语言
哪些流行的编程语言从一开始就被有意设计为同时具有===和==(并要求程序员确定使用哪种语言)。Javascript 始终具有三重相等的语言,javascript,ruby,language-design,Javascript,Ruby,Language Design,哪些流行的编程语言从一开始就被有意设计为同时具有===和==(并要求程序员确定使用哪种语言)。 Javascript、PHP、ruby(可能还有其他)现在有一个三重等于运算符。但是,目前还不清楚这是否是一个故意的设计决定,或者只是偶然发生的(可能是因为该语言以双等位开始,但在某个点上,人们发现双等位并不完全符合人们的要求)。 特别是在javascript中,有人记得它第一次出现时是否有三重相等吗?由于我的内存不太可靠,我不能说我记得或,但由于ECMA善意地保留了ECMA-262规范的所有修订,所
Javascript、PHP、ruby(可能还有其他)现在有一个三重等于运算符。但是,目前还不清楚这是否是一个故意的设计决定,或者只是偶然发生的(可能是因为该语言以双等位开始,但在某个点上,人们发现双等位并不完全符合人们的要求)。
特别是在javascript中,有人记得它第一次出现时是否有三重相等吗?由于我的内存不太可靠,我不能说我记得或,但由于ECMA善意地保留了ECMA-262规范的所有修订,所以当“严格相等运算符”出现时,可能会推迟阅读它们被引入到语言中 我在NORE和nor中都找不到任何提及,但我们在第11.9.4章(第56页)中找到了提及。由此得出的自然结论是:不,JavaScript最初出现时没有
==
因为你提到的其他语言(据我所知)没有得到任何标准化机构的批准,我想如果有任何语言规范的话,很难找到语言规范的旧版本
然而,需要注意的是,Ruby中
==
的含义可能与JavaScript或PHP中的含义大不相同(两者非常相似)。在Ruby中,它通常用于“包容”,即检查其他东西(例如,一个集合)中是否存在某些东西,而在其他两种语言中,它用于严格的相等性检查,这意味着在应用运算符之前,不会在运算符的任一侧执行类型转换。@GregHewgill不符合ECMA-262,从我读到的。你的推荐信是什么?我的记忆显然是错误的,谢谢你的引用。