js 语法糖

可选链式非空条件判断

!**?.length

如果 returnProcessData 不存在或者它的 length 属性为 false(即 returnProcessData 不存在、是 null、是 undefined 或者 length 属性值为 0),那么整个表达式的结果将为 true。
长度为 0 意味着该对象中没有任何元素。
比如一个空数组[],它的length为 0。在这种情况下,returnProcessData.length的值为 0。而在逻辑判断中,0 被视为 “假值”(falsey value)。对一个假值取反,结果为true
所以,当returnProcessData的长度为 0 时,!returnProcessData?.lengthtrue
为空进入
 

**?.length

  • 在 JavaScript 里,数字 0 被当作“假值”(falsy)。
  • 所以如果 ads 是一个空数组([]),那么 ads.length 就是 0,ads?.length 也是 0。

可选链式

如果可选链 ?. 前面的值为 undefined 或者 null,它会停止运算并返回 undefined。
为了简明起见,在本文接下来的内容中,我们会说如果一个属性既不是 null 也不是 undefined,那么它就“存在”。
换句话说,例如 value?.prop:
  • 如果 value 存在,则结果与 value.prop 相同,
  • 否则(当 value 为 undefined/null 时)则返回 undefined。
 
Loading...
文章列表
王小扬博客
Java
其他
计算机网络
AI
Git
DB
云原生
Node
Docker
操作系统
Elasticsearch
Apollo
Nestjs
产品
Think
大前端
PHP
软件开发
设计
生活技巧
CI
缓存