Ошибка типа: невозможно сопоставить с «неопределенным» или «нулевым»

Код

client.createPet(pet, (err, {name, breed, age}) => {
  if (err) {
    return t.error(err, 'no error')
  }
  t.equal(pet, {name, breed, age}, 'should be equivalent')
})

ошибка

client.createPet(pet, (err, {name, breed, age}) => {
                        ^

TypeError: Cannot match against 'undefined' or 'null'.

Почему я получаю эту ошибку? Мои знания о ES6 привели меня к предположению, что эта ошибка должна возникать только в том случае, еслимассив или объект, подлежащий деструктурированию или его дочерние элементы являетсяundefined или жеnull.

Я не знал, что параметры функции используются как совпадение. И если они есть, то почему это только ошибка, если я пытаюсь уничтожить один из них? (это неundefined или жеnull).