什么是"==="运算符?

Sac*_*dra 9 operators

我曾经遇到一个运营商"===".但我不记得它是什么......或者我们在哪里使用它......或者是否有这样的操作员?在哪里使用?

Mic*_*yan 19

在PHP,JavaScript,ECMAScript,ActionScript 3.0和许多其他类似的动态语言中,有两种类型的相等性检查:==(非严格相等)和===(严格相等).举个例子:

5 == "5"   // yep, these are equal, because "5" becomes 5 when converted to int
5 === "5"  // nope, these have a different type
Run Code Online (Sandbox Code Playgroud)

基本上,无论何时使用==,都存在自动类型转换的风险.使用===可确保值在逻辑上相等且对象的类型也相等.

  • @Turtle,是的.ECMAScript是JavaScript现在基于的语言标准化工作(JavaScript首先出现),并且有许多语言 - 不仅仅是JavaScript - 从ECMAScript派生其核心语法,然后添加其他元素或结构(例如ActionScript 3.0).JavaScript和ECMAScript之间的关键区别在于JavaScript是ECMAScript,因为它在实践中发生...即,浏览器实际上如何实现ECMAScript(例如偏离标准,扩展等) (2认同)

bch*_*rry 16

在JavaScript中,==确实输入强制,而==="严格相等"操作符则没有.例如:

"1" == 1; // true
"1" === 1; // false
Run Code Online (Sandbox Code Playgroud)

还有一个相应的严格不等式算子!==.


Mah*_*aga 8

它用于JavaScript,PHP,可能更多(我可能还没有遇到过!),它用于比较比较的东西是否具有相同的对象类型以及具有相同的值.