Объекты JS свойства обьекта

function name ({item}){
  {name,surname,phone} = item; // Ошибка если в item нет свойства name и других свойств

}

//or

function name({item}){
  const people = {name:item.name || "", surname:item.surname || "", phone: item.phone || ""} // Ошибка если в item нет свойства name   и других свойств
}

Если есть возможность в малом количестве кода применить условие: если нет обьекта item в аргументах (аргумент должен быть обязательно в фигурных скобках) то в свойства name, surname, phone была пустая строка или undefined. Помогите решить проблему.


Ответы (2 шт):

Автор решения: Алексей Шиманский

Я предлагаю вам рассмотреть паттерн Null Object , пример2, пример js

По сути это будет объект, где у свойств будут заданы значения по умолчанию, приемлемые для вас, в случае если нужного конкретного объекта не существует (в вашем случае у всех свойств пустые значения) и передавать его как аргумент функции, когда это необходимо

→ Ссылка
Автор решения: vsemozhebuty

Вам, случайно, не это нужно? Тут предохранитель на случай обоих undefined: и на случай отсутствия аргумента, и на случай отсутствия в нём свойства item:

function name({ item = {} } = {}) {
  const { name, surname, phone } = item;

  console.log(name, surname, phone);
}

name();

→ Ссылка