电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

詳解JavaScript中的Object.is()與"==="運算符總結

瀏覽:104日期:2023-10-23 13:33:26

三重相等運算符 === 嚴格檢查2個值是否相同:

1 === 1; // => true1 === ’1’; // => false1 === true; // => false

但是,ES2015規范引入了 Object.is(),其行為與嚴格的相等運算符幾乎相同:

Object.is(1, 1); // => trueObject.is(1, ’1’); // => falseObject.is(1, true); // => false

主要問題是:什么時候使用 Object.is() 代替嚴格的相等性檢查?讓我們找出答案。

1.嚴格相等檢查操作符

首先,讓我們快速回顧一下嚴格的相等運算符是如何工作的。當兩個值的類型相同且持有相同的值時,嚴格相等檢查運算符的計算結果為 true。例如,以下原始值是相等的,因為它們是相同的類型且具有相同的值:

1 === 1; // => true’abc’ === ’abc’; // => truetrue === true; // => truenull === null; // => trueundefined === undefined; // => true

嚴格相等運算符不執行類型的強制轉換,即使操作符持有合理的相同值,但是不同類型的操作符,它們也不是嚴格相等的:

1 === ’1’; // => false1 === true; // => falsenull === undefined; // => false

對對象執行嚴格相等檢查時,對象僅與自身嚴格相等:

const myObject = { prop: ’Value’ };myObject === myObject; // => true

即使2個對象的屬性和值完全相同,它們的值也不同:

const myObject1 = { prop: ’Value’ };const myObject2 = { prop: ’Value’ };myObject1 === myObject2; // => false

以上比較方案在 Object.is(valueA,valueB) 中的工作原理完全相同。

嚴格相等檢查和 Object.is() 之間的區別在于,如何處理 NaN 和如何處理負零 -0。

首先,NaN(非數字)并不嚴格等于任何其他值,即使使用另一個 NaN:

NaN === NaN; // => falseNaN === 1; // => false

其次,嚴格相等運算符不能將 -0 與 +0 區分開:

-0 === +0; // => true

嚴格相等運算符使用嚴格相等比較算法。http://www.ecma-international.org/ecma-262/7.0/index.html#sec-strict-equality-comparison

2. Object.is()

Object.is(valueA,valueB) 以與嚴格相等運算符相同的方式檢查相等性的參數,但有兩個區別。

首先,NaN 等于另一個 NaN 值:

Object.is(NaN, NaN); // => trueObject.is(NaN, 1); // => false

其次,Object.is() 區分 -0 和 +0:

Object.is(-0, +0); // => false

與嚴格相等運算符相比,Object.is() 使用相同值比較算法。http://www.ecma-international.org/ecma-262/7.0/index.html#sec-samevalue

總結

在大多數情況下,嚴格相等運算符是比較值的好方法。

如果你想直接檢查 NaN 值或對負零和正零進行更嚴格的區分,那么 Object.is() 是一個不錯的選擇。

Object.is() 作為比較值的函數性方法也很有用,例如在函數式編程中。

來源:dmitripavlutin.com,作者:Dmitri Pavlutin,翻譯:公眾號《前端全棧開發者》

到此這篇關于詳解JavaScript中的Object.is()與'==='運算符總結的文章就介紹到這了,更多相關JavaScript中的Object.is()與'==='運算符內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 苹果售后维修点查询,苹果iPhone授权售后维修服务中心 – 修果网 拼装地板,悬浮地板厂家,悬浮式拼装运动地板-石家庄博超地板科技有限公司 | 英国雷迪地下管线探测仪-雷迪RD8100管线仪-多功能数字听漏仪-北京迪瑞进创科技有限公司 | 洗砂机械-球磨制砂机-洗沙制砂机械设备_青州冠诚重工机械有限公司 | 交流伺服电机|直流伺服|伺服驱动器|伺服电机-深圳市华科星电气有限公司 | 橡胶电子拉力机-塑料-微电脑电子拉力试验机厂家-江苏天源 | 施工电梯_齿条货梯_烟囱电梯_物料提升机-河南大诚机械制造有限公司 | 400电话_400电话申请_888元包年_400电话办理服务中心_400VIP网 | 泰来华顿液氮罐,美国MVE液氮罐,自增压液氮罐,定制液氮生物容器,进口杜瓦瓶-上海京灿精密机械有限公司 | 济南网站建设_济南网站制作_济南网站设计_济南网站建设公司_富库网络旗下模易宝_模板建站 | 防渗土工膜|污水处理防渗膜|垃圾填埋场防渗膜-泰安佳路通工程材料有限公司 | 同学聚会纪念册制作_毕业相册制作-成都顺时针宣传画册设计公司 | 云杂志网-学术期刊-首页| 电磁流量计_智能防腐防爆管道式计量表-金湖凯铭仪表有限公司 | 细石混凝土泵_厂家_价格-烟台九达机械有限公司| 电动百叶窗,开窗器,电动遮阳百叶,电动开窗机生产厂家-徐州鑫友工控科技发展有限公司 | 罐体电伴热工程-消防管道电伴热带厂家-山东沃安电气 | 医院专用门厂家报价-医用病房门尺寸大全-抗菌木门品牌推荐 | 南京试剂|化学试剂|分析试剂|实验试剂|cas号查询-专业60年试剂销售企业 | 珠海冷却塔降噪维修_冷却塔改造报价_凉水塔风机维修厂家- 广东康明节能空调有限公司 | 无负压供水设备,消防稳压供水设备-淄博创辉供水设备有限公司 | 博医通医疗器械互联网供应链服务平台_博医通 | 机器视觉检测系统-视觉检测系统-机器视觉系统-ccd检测系统-视觉控制器-视控一体机 -海克易邦 | 铸铁平台,大理石平台专业生产厂家_河北-北重机械 | 盘扣式脚手架-附着式升降脚手架-移动脚手架,专ye承包服务商 - 苏州安踏脚手架工程有限公司 | 郑州巴特熔体泵有限公司专业的熔体泵,熔体齿轮泵与换网器生产厂家 | 三佳互联一站式网站建设服务|网站开发|网站设计|网站搭建服务商 赛默飞Thermo veritiproPCR仪|ProFlex3 x 32PCR系统|Countess3细胞计数仪|371|3111二氧化碳培养箱|Mirco17R|Mirco21R离心机|仟诺生物 | 安徽控制器-合肥船用空调控制器-合肥家电控制器-合肥迅驰电子厂 安徽净化板_合肥岩棉板厂家_玻镁板厂家_安徽科艺美洁净科技有限公司 | 上海公司注册-代理记账-招投标审计-上海昆仑扇财税咨询有限公司 上海冠顶工业设备有限公司-隧道炉,烘箱,UV固化机,涂装设备,高温炉,工业机器人生产厂家 | 紫外线老化试验箱_uv紫外线老化试验箱价格|型号|厂家-正航仪器设备 | 杭州代理记账多少钱-注册公司代办-公司注销流程及费用-杭州福道财务管理咨询有限公司 | 焊管生产线_焊管机组_轧辊模具_焊管设备_焊管设备厂家_石家庄翔昱机械 | 拉力机-拉力试验机-万能试验机-电子拉力机-拉伸试验机-剥离强度试验机-苏州皖仪实验仪器有限公司 | 范秘书_懂你的范文小秘书 | 山东商品混凝土搅拌楼-环保型搅拌站-拌合站-分体仓-搅拌机厂家-天宇 | 碳化硅,氮化硅,冰晶石,绢云母,氟化铝,白刚玉,棕刚玉,石墨,铝粉,铁粉,金属硅粉,金属铝粉,氧化铝粉,硅微粉,蓝晶石,红柱石,莫来石,粉煤灰,三聚磷酸钠,六偏磷酸钠,硫酸镁-皓泉新材料 | 特种阀门-调节阀门-高温熔盐阀-镍合金截止阀-钛阀门-高温阀门-高性能蝶阀-蒙乃尔合金阀门-福建捷斯特阀门制造有限公司 | 浙江自考_浙江自学考试网| 转向助力泵/水泵/发电机皮带轮生产厂家-锦州华一精工有限公司 | 北京环球北美考试院【官方网站】|北京托福培训班|北京托福培训 | 仿古建筑设计-仿古建筑施工-仿古建筑公司-汉匠古建筑设计院 | 检验科改造施工_DSA手术室净化_导管室装修_成都特殊科室建设厂家_医疗净化工程公司_四川华锐 |