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。
以上为相关学习笔记总结。
作者最新文章
JS处理含Emoji或中文的字符串转数组乱码问题
2026-11-05 16:12:28
JS怎么使用展开运算符合并对象
2026-11-05 14:42:18
ES6+环境下判断JS对象为空的简洁写法
2026-11-05 12:12:23
怎么通过replacer函数自定义JS中JSON的格式化输出
2026-11-05 11:19:44
JS正则表达式基础:字面量与RegExp构造函数的区别及常用元字符
2026-11-05 11:16:58
