JavaScript 全等号(===)与等于号(==)的区别详解

作者:拾光时间:2026-10-24 23:02:36浏览:283

本文详细解析JavaScript中等于号(==)与全等号(===)的核心区别。重点说明等于号在比较时会进行隐式类型转换,而全等号要求值和类型均相等。通过字符串与数字比较的代码示例,展示两者在返回结果上的差异,并补充非等于(!=)与非全等(!==)的行为说明。

等于号与全等号的类型转换机制

在JavaScript开发中,许多开发者习惯使用等号“==”进行判断,而较少使用全等符号“===”。这两者的核心差异在于:等号在检测两个对象相等性时会执行类型转换,而全等号则不进行类型转换,只有在值和类型完全一致时才返回true。



代码如下:

 
var sNum="66";
var iNum=66;
alert(sNum==iNum);//输出为 true
alert(sNum===iNum);//输出为 false

第一个等于运算符在比较时,会将字符串sNum的值"66"隐式转换为数字类型,再与iNum进行比较,因此返回true。


第二个全等号在比较时不进行任何类型转换,由于字符串类型与数字类型不同,因此比较结果为false。


非等于与非全等号的行为说明

此外,还存在非等于(!=)和非全等(!==)运算符,其行为逻辑与上述对应。



代码如下:

 
var sNum="66";
var iNum=66;
alert(sNum!=iNum);//返回为false
alert(sNum!==iNum);//返回为true

第一个非等于运算符在比较时,同样会将sNum转换为数字类型,转换后两者的值相等,因此返回false。


第二个非全等号在比较时不进行类型转换,由于sNum(字符串)与iNum(数字)类型不同,因此判定为不相等,返回true。


以上为相关学习笔记总结。

作者最新文章