千家信息网

ECMAScript中的等性运算符有什么用

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章主要介绍了ECMAScript中的等性运算符有什么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。等性运算符一般用在判断两个变
千家信息网最后更新 2026年11月03日ECMAScript中的等性运算符有什么用

这篇文章主要介绍了ECMAScript中的等性运算符有什么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

等性运算符一般用在判断两个变量是否相等的运算。在处理原始值时,这种运算相当简单,涉及对象,任务就稍有点复杂。

性运算符分:

1、等号和非等号用于处理原始值

2、全等号和非全等号用于处理对象

一、等号和非等号(比较值)
在 ECMAScript 中,

1、等号由双等号(==)表示,当且仅当两个运算数相等时,它返回 true。

2、非等号由感叹号加等号(!=)表示,当且仅当两个运算数不相等时,它返回 true。为确定两个运算数是否相等,这两个运算符都会进行类型转换。

执行类型转换的规则如下:

1、如果一个运算数是 Boolean 值,在检查相等性之前,把它转换成数字值。false 转换成 0,true 为 1

2、如果一个运算数是字符串,另一个是数字,在检查相等性之前,要尝试把字符串转换成数字

3、如果一个运算数是对象,另一个是字符串,在检查相等性之前,要尝试把对象转换成字符串

4、如果一个运算数是对象,另一个是数字,在检查相等性之前,要尝试把对象转换成数字

来点栗子说事儿:

一、如果一个运算数是 Boolean 值,在检查相等性之前,把它转换成数字值。false 转换成 0,true 为 1

console.log(false == 0);//true
console.log(true == 1);//true
console.log(false == 1);//false
console.log(true == 0);//false
console.log(false != 0);//false
console.log(true != 1);//false
console.log(false != 1);//true
console.log(true != 0);//true

二、如果一个运算数是字符串,另一个是数字,在检查相等性之前,要尝试把字符串转换成数字

console.log("12" == 12);//true
console.log("12" != 12);//false

三、如果一个运算数是对象,另一个是字符串,在检查相等性之前,要尝试把对象转换成字符串

var obj = ['a']
var str = "a"
console.log(obj.toString());//a -> 转换为字符串之后变成a
console.log(obj == str);//true
console.log(obj != str);//fasle

四、如果一个运算数是对象,另一个是数字,在检查相等性之前,要尝试把对象转换成数字

var obj = ['12']
var Num = 12;
console.log(Number(obj));//12 -> 转换为数字之后变成12
console.log(obj == Num);//true

在比较时,该运算符还遵守下列规则:

1、值 null 和 undefined 相等

2、在检查相等性时,不能把 null 和 undefined 转换成其他值

3、如果某个运算数是 NaN,等号将返回 false,非等号将返回 true

4、如果两个运算数都是对象,那么比较的是它们的引用值。如果两个运算数指向同一对象,那么等号返回 true,否则两个运算数不等

我们的好朋友,栗子同志来了:

一、值 null 和 undefined 相等

var a = '';
console.log(a[xss_clean]);//undefined
console.log(null == a[xss_clean]);//true
console.log(null != a[xss_clean]);//fasle

二、在检查相等性时,不能把 null 和 undefined 转换成其他值

这个就理解字面意思就行了,我不知道怎么给你们找例子了,CGL对不起大家了。

三、如果某个运算数是 NaN,等号将返回 false,非等号将返回 true

console.log(NaN == null);//false
console.log(NaN == undefined);//false
console.log(NaN == NaN);//false
console.log(NaN == 0);//false
console.log(NaN != 0);//true

四、如果两个运算数都是对象,那么比较的是它们的引用值。如果两个运算数指向同一对象,那么等号返回 true,否则两个运算数不等

例子有点不切当,大家将就看看吧,大概意思是这样的。

var fn1 = function(){console.log('我是fn1')};
var fn2 = fn1
var fn3 = function(){fn1()}function(){ //跟单:www.gendan5.com

fn1()
fn2()
fn3()
console.log(fn1 == fn2);
console.log(fn2 == fn3);

var fn4 = [1,2,3];
var fn5 = [1,2,3];
console.log(fn4 == fn5);

二、全等号和非全等号(比较值和类型)
等号和非等号的同类运算符是全等号和非全等号。这两个运算符所做的与等号和非等号相同,只是它们在检查相等性前,不执行类型转换。

1、全等号由三个等号表示(===),只有在无需类型转换运算数就相等的情况下,才返回 true。

2、非全等号由感叹号加两个等号(!==)表示,只有在无需类型转换运算数不相等的情况下,才返回 true。

var num1 = 30;
var num2 = 30;
var str = "30";

console.log(num1 === num2);//true -> 值一样,类型都是数字
console.log(num1 === str);//false -> 值一样,类型是数字和字符串
console.log(NaN === NaN);//false -> 直接false,硬记
console.log(num1 != str);//false -> 类型不一样,但是值一样
console.log(NaN != NaN);//true -> 直接true,硬记
console.log(NaN !== NaN);//true -> 直接true,硬记
console.log(num1 !== num2);//false -> 值和类型都一样

感谢你能够认真阅读完这篇文章,希望小编分享的"ECMAScript中的等性运算符有什么用"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

运算 等号 对象 两个 数字 检查 字符 字符串 类型 运算符 尝试 篇文章 处理 原始 例子 只有 情况 意思 感叹号 指向 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技图片 深圳市人人互联网科技有限公司 广州万易互联网科技有限公司 新华互联网科技学院 天津摩尔互联网科技 易通互联网络科技有限公司 润盈互联网科技 互联网科技视频素材 四川狮子座互联网科技 互联网科技有限公司 翻译 温州喔噻互联网科技有限公司 互联网科技热点资讯 北京华百购互联网科技有限公司 互联网金融中的现代科技 江阴互联网智能科技产品进口 互联网科技与大数据专业 互联网在线教育科技创业 华中科技大学互联网的牛人 半导体是互联网高科技吗 每日互联网科技新闻 礼当家互联网科技 奇酷互联网络科技 北京互联网络科技有限公司 互联网科技论坛 中盈科技互联网信息有限公司 互联网科技大奖都有哪些公司 梅州GM互联网络科技有限公司 黑云互联网科技有限公司 南京一网一红互联网科技有限公司 科技互联网专业务虚会材料
0