Похоже, на вопрос уже дан достаточный ответ, но я хотел бы добавить несколько советов по этому поводу.
Если вы не работаете со строго типизированной версией JavaScript (например, Elm или TypeScript ), Я считаю, что деструктурировать вложенные свойства объекта - это действительно плохая идея, потому что это приведет к ошибкам типа, если базовое свойство не существует заранее (key1
). Это потенциально может привести к сбою приложения.
Если вы работаете со строго типизированной версией JavaScript, то при принудительном применении типа возможна ошибка во время компиляции, а не во время выполнения.
Однослойная деструктуризация, на мой взгляд, прекрасна, потому что худшее, что может случиться, это то, что присвоенная переменная станет undefined
.