【JavaScript】==和===

【前言】
本系列为个人前端学习之路的学习笔记,在过往的学习过程中累积了很多笔记,如今想藉着IT邦帮忙这个平台做整理+再复习。
本系列标题一律以【】标示该篇文章主要涉及的内容,例如【JavaScript】、【Vue】等等。
若内容有误,还麻烦各路大神不吝於点出问题,感激不敬。


在JavaScript的世界中,使用=(赋值运算子)来赋值
而==和===则是比较运算子
顾名思义,使用比较运算子时代表我们要去比较
同时,它会回传一个结果的值给我们

var a = 1;
var b = 2;
console.log(a == b); //回传false

在这个案例中,我们使用了==来比较a和b相不相等,结果回传是false

==和===

==是所谓的宽松相等,而===则可以想成是严谨模式
两者的用途一样,即比较左右的运算元,并回传一个值(白话来说就是判断左右两边是否相等)
不过==和===的判断规则有所不同
因为在JavaScript的世界中,会遇到这样的情况:

console.log(1 == true); //true

这时候==会跟你说1和true是相等的,这是因为JavaScript会帮你进行型别转换
此时的true被自动转型成1,因此1 == 1回传就会是true了

类似的案例相当多,例如:

console.log([] == 0); //true

甚至还可以找到关於自动转型的各种梗图XD

而为了避免这种情况,===就派得上用场啦
===,概念有点像是严谨模式,除了内容之外型别也要相等才会回传true

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

!=和!==

有等於就有不等於
!=和!==就是相对於==和===,前者是宽松不等於,後者是严谨的不等於

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

<<:  什麽时候需要ERP系统? 成长中企业资讯孤岛的解方

>>:  UVA练习

Python - Python num2words 套件 - 将数字转换为多种语言的单词 - 参考笔记

Python - Python num2words 套件 - 将数字转换为多种语言的单词 - 参考笔...

Day14 CSS基础设定_4

今天我们要来教一些常用到的基本设定、包括宽高、背景颜色、文字颜色,以及inline与block的区别...

【在厨房想30天的演算法】Day 07 资料结构:阵列 Array

Aloha~又是我少女人妻 Uerica ! 中秋节过後就是秋天了,秋高气爽是最适合旅游的日子了,可...

铁人赛 Day12-- PHP SQL基本语法(七) -- UPDATE & DELETE

前言 昨天有谈到了新增,那今天就来谈谈 更新UPDATE 和 删除DELETE 吧 UPDATE 资...

[Day19] SCSS 学习笔记

写 CSS 的时候常常会有些设定是重复出现的,SASS(SCSS)是一个方便的预处理器,提供了变数、...