JavaScript ! !! = == === ... Truthy Falsy

小记一点东西嘿嘿

符号

! && !!

! 逻辑非运算符
MDN web docs:链接点我

简单来说就是取反
boolean类型会直接进行判断
非布尔类型,可以转换为false的表达式如下
null
NaN
0
空字符串( “” or ‘’ 或 `` )
undefined
false
以上5类型值称为Falsy(假值),其余均为Truthy(真值),这五类型取反为true,其余均为false,举几个栗子⬇️

🌰
n1 = !true               // console.log(n1) ---> false
n2 = !false              // true
n3 = !''                 // true
n4 = !'Cat'              // false

!! 双重NOT运算符
MDN web docs这么解释:可以串联使用两个NOT运算符来显式强制将任何值转换为相应的布尔基元。转换基于值的“真实性(Trethy)”或“虚假性(Falsy)”

文档这东西就是晦涩哈,其实也就是基于真值与假值做转换或判断
可结合文末中Truthy与Falsy的栗子做判断

= && == && ===

= 赋值
== 判断 null == undefined console —> true
=== 全等于 不一样就false

扩展运算符:用于取出参数对象的所有可遍历属性(可枚举),拷贝到当前对象之中
懒了懒了,详情点击下方链接
https://blog.csdn.net/qq_30100043/article/details/53391308

隐式转换

很详细,很底层了
https://blog.csdn.net/itcast_cn/article/details/82887895

Truthy(真值)

在 JavaScript 中,truthy(真值)指的是在布尔值上下文中,转换后的值为真的值。所有值都是真值,除非它们被定义为 falsy(假值)(即除 false、0、""、null、undefined 和 NaN 以外皆为真值)。

例:
if (true)
if ({})
if ([])
if (42)
if ("foo")
if (new Date())
if (-42)
if (3.14)
if (-3.14)
if (Infinity)
if (-Infinity)

Falsy(假值)

在 JavaScript 中只有 7 个 falsy 值。这意味着当 JavaScript 期望一个布尔值,并被给与下面值中的一个时,它总是会被当做 false。

解释
falsefalse关键字
0数值零
0n当 BigInt 作为布尔值使用时, 遵从其作为数值的规则. 0n 是 falsy 值.
“”, ‘’, ``字符串的长度为零,字符串可用双引号 “”, 单引号 ‘’, 或 模板字面量 `` 定义
null缺少值
undefined非数值
NaN原始值
 JavaScript 中 falsy 值的例子 (在布尔值上下文中被转换为 false,从而绕过了 if 代码块):
if (false)
if (null)
if (undefined)
if (0)
if (0n)
if (NaN)
if ('')
if ("")
if (``)
if (document.all)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值