gpt4 book ai didi

javascript - 总是有三重平等的语言

转载 作者:数据小太阳 更新时间:2023-10-29 04:34:03 25 4
gpt4 key购买 nike

哪些流行的编程语言从一开始就有意设计为同时具有 === 和 ==(并要求程序员弄清楚使用哪个)。
如今,Javascript、PHP、ruby(可能还有其他)都有三等号运算符。但是,尚不清楚这是故意的设计决定,还是只是偶然发生的(也许是因为该语言以双等号开头,但在某些时候发现双等号并没有完全按照人们的意愿去做).
特别是在 javascript 中,有没有人记得它刚出来的时候有没有三等号?

最佳答案

由于我的内存不是很可靠,我不能说我记得或,但由于 ECMA 善意地保留了 ECMA-262 规范的所有修订版,所以当“The Strict”出现时,可以推迟阅读它们等于运算符”被引入到该语言中。

我在 ECMA-262 1st Edition 中都没有提到它, 也不 ECMA-262 2nd Edition , 但在 ECMA-262 3rd Edition我们在第 11.9.4 章(第 56 页)中提到了它。由此自然得出的结论是:不,JavaScript刚出来的时候没有===

由于您提到的其他语言没有(据我所知)在任何标准化机构中得到批准,我想如果有语言规范之类的东西,我想很难找到语言规范的旧版本完全没有。

不过,需要注意的是,Ruby 中 === 的含义可能与 JavaScript 或 PHP 中的含义大不相同(它们非常相似)。在 Ruby 中,它通常用于“包含”,即检查某物是否存在于其他事物(例如集合)中,而在其他两种语言中,它用于严格的相等性检查,这意味着不执行类型转换运算符(operator)的任一侧,然后再应用它。

关于javascript - 总是有三重平等的语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7803518/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com