let products;
if (products?.length !== 0) {
console.log('true')
}Run Code Online (Sandbox Code Playgroud)
与
let products;
if (products && products.length !== 0) {
console.log('true')
}Run Code Online (Sandbox Code Playgroud)
如果没有产品数组,示例 1 仍将运行 if 语句。可选链不应该检查产品是否存在,然后检查长度,最后检查长度为 0 吗?
例子。如果产品不存在,2 将不会运行。
Cer*_*nce 14
可选链接并不优先于比较。这
if (products?.length !== 0) {
Run Code Online (Sandbox Code Playgroud)
是
if ((products?.length) !== 0) {
Run Code Online (Sandbox Code Playgroud)
它评估链,然后将结果与 0 进行比较。如果链末尾有一个值,则会对其进行比较。如果链由于某些内容为空而失败,它将评估为undefined,并将与0 进行比较。
if ((undefined) !== 0) {
Run Code Online (Sandbox Code Playgroud)
这永远是真的。
由于您希望块products存在且不为空时运行,因此使用
if (products?.length) {
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2030 次 |
| 最近记录: |