Функция в JS это объект?
Давайте посмотрим:(() => {}) instanceof Object // true
Ну да, объект. Кто бы мог подумать.
Но я для интереса написал функцию и вывел ее:
...
но никакого обьекта я не увидел там
Проблема исключительно того, как браузер показывает вывод console.log. Стандарта нет и разные браузеры показывают то, что их разработчики посчитали полезным/удобным. Попробуйте лучше console.dir(function() {}).
В отличие от примитивных значений, в функцию можно добавить свои поля.function a () {};
a.b = 42;
console.log(a.b);
Функции передаются по ссылке.
У функций есть методы, например bind, apply и call.
Функция это специальный объект, у которого определен внутренний метод [[Call]].