js 语法糖
!returnProcessData?.length ——可选链式非空条件判断
如果 returnProcessData 不存在或者它的 length 属性为 false(即 returnProcessData 不存在、是 null、是 undefined 或者 length 属性值为 0),那么整个表达式的结果将为 true。
长度为 0 意味着该对象中没有任何元素。比如一个空数组
[]
,它的length
为 0。在这种情况下,returnProcessData.length
的值为 0。而在逻辑判断中,0 被视为 “假值”(falsey value)。对一个假值取反,结果为true
。所以,当returnProcessData
的长度为 0 时,!returnProcessData?.length
为true
。可选链式
如果可选链 ?. 前面的值为 undefined 或者 null,它会停止运算并返回 undefined。
为了简明起见,在本文接下来的内容中,我们会说如果一个属性既不是 null 也不是 undefined,那么它就“存在”。
换句话说,例如 value?.prop:
- 如果 value 存在,则结果与 value.prop 相同,
- 否则(当 value 为 undefined/null 时)则返回 undefined。
Loading...