JavaScript 数组解构赋值和空值

Ala*_*ALI 3 javascript

我正在使用一个外部服务getListOfItemsFromServiceA,它接受一个id(用户)并返回与该用户关联的 5 个项目(正好 5 个)的列表。

我使用数组解构赋值来设置那些工作正常的项目的值(只是一个例子):

var item1, item2, item3, item4, item5;
//var result = getListOfItemsFromServiceA(1622);
var exampleResult = ['item1', 'item2', 'item3', 'item4', 'item5'];
[item1, item2, item3, item4, item5] = exampleResult;
console.log(item1, item2, item3, item4, item5);
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是,在某些情况下,例如在数据库中找不到时getListOfItemsFromServiceA(id)返回。所以我的代码不起作用:nullid

var item1, item2, item3, item4, item5;
//var result = getListOfItemsFromServiceA(1622);
var exampleResult = null;
[item1, item2, item3, item4, item5] = exampleResult;
console.log(item1, item2, item3, item4, item5);
Run Code Online (Sandbox Code Playgroud)

有没有办法使用数组析构语法而不是添加 if 条件来解决这个问题if(getListOfItemsFromServiceA(1622) !== null)

笔记

  • 我无法更改getListOfItemsFromServiceA.

Hen*_*ldi 5

做这个:

[item1, item2, item3, item4, item5] = exampleResult || [];
Run Code Online (Sandbox Code Playgroud)