const barker = (state) => { bark: () => console.log('Woof, I am ' + state.name) } const barker2 = (state) => ({ bark: () => console.log('Woof, I am ' + state.name) }) barker===barker2 //returns falseMi objetivo es usar Object.assign dentro de una función de fábrica y usar 'ladrón' como entrada. 'barker' no funciona pero 'barker2' funciona. ¿Por qué funciona con el conjunto de paréntesis? Entiendo los IIFE, pero esto no se llama de inmediato, así que no entiendo qué está sucediendo aquí.