const x = { a:1 };
// This IIFE isn't assigned to a variable in global. No reference to the object
(function q({a}){
console.log(a);
return a;
})(x); // unable to execute
console.log (q (x))
Это работает, но вы не можете вызвать его снова, так как a был возвращен обратно в q, а q не является функцией:
const x = { a:1 };
// This IIFE isn't assigned to a variable in global. No reference to the object
const q = (function ({a}){
console.log(a);
return a;
})(x); // unable to execute
console.log(q) // => 1