【JavaScript】 =,==,===区别

=:赋值运算符。

==:相等运算符,当等号两边值类型不同时,先转换为同一类型后,再比较值是否相等。

===:严格运算符,不做类型转换,类型不同一定为false。
一般用来比较是否相等用===。

js 复制代码
//==做类型转换后判断
console.log("1" == true)//true
console.log(1 == true)//true

//===不做类型转换,类型不同则直接false
console.log(1 === true)//false
console.log("1" === "1")//true

//比较object, Array, Function时,比较他们是否指向同一个对象
let arr1 = [1,2,3]
let arr2 = arr1
console.log(arr1 === arr2)

//null和undefined
console.log(null == undefined)//true
console.log(null === undefined)//false
console.log(null === null)//true
console.log(undefined === undefined)//true
相关推荐
用户2565676133462 分钟前
记一次诡异的 ANR 问题排查:主线程明明没干活,为啥还超时?
java
毛骗导演4 分钟前
发送一句「你好」,为什么花掉了几千个 Token?——深读 OpenClaw 的 Context 注入机制
前端·架构
工边页字5 分钟前
AI产品中的长期记忆和短期记忆是什么,你知道吗?
前端·人工智能·后端
HelloReader6 分钟前
Flutter 页面导航Navigator.push 与自适应导航模式(十四)
前端
014-code6 分钟前
Spring 事务原理深度解析
java·数据库·spring·oracle
毕设源码-钟学长7 分钟前
【开题答辩全过程】以 基于SpringBoot的健康系统为例,包含答辩的问题和答案
java·spring boot·后端
小凡同志7 分钟前
那个复制粘贴了二十次 loading 的下午
前端·vue.js
还是大剑师兰特8 分钟前
vue3中slot,template #名称 的详细说明和具体示例
javascript·vue.js·ecmascript
HelloReader8 分钟前
Flutter 底层原理揭秘框架如何工作(十五)
前端
南篱9 分钟前
前端必看:一口气搞懂跨域是什么、为什么、怎么解决
前端·javascript·面试