TypeError: no puede coincidir con 'undefined' o 'null'

Código

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

Error

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

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

¿Por qué recibo este error? Mi conocimiento de ES6 me llevó a suponer que este error solo debería surgir si elmatriz u objeto que se está desestructurando o sus hijos esundefined onull.

No sabía que los parámetros de la función se usan como una coincidencia. Y si lo son, ¿por qué solo es un error si intento desestructurar uno de ellos? (eso no esundefined onull)

Respuestas a la pregunta(1)

Su respuesta a la pregunta