Разрушить необязательно связанный объект, чтобы получить ... отдых?

У меня есть эта установка

const { discard_me, ...rest } = some?.optional?.chaining;

Я получаю ошибку, которая discard_me не существует, но это ожидается, если chainingтакже не существует. Кажется, что необязательная цепочка должна покрывать проблемы как левой, так и правой стороны присваивания.

Есть ли способ обойти это без нулевого слияния?

1 ответ

Решение

Кажется, что необязательная цепочка должна покрывать проблемы как левой, так и правой стороны присваивания.

Это не так, потому что some?.optional?.chaining либо собирается:

  • some.optional.chaining(который может быть неопределенным); или
  • undefined (что определенно есть).

Для деструктурирующего присваивания правая часть должна быть объектом.

Другие вопросы по тегам