Я веб-разработчик-самоучка и все еще пытаюсь разобраться с некоторыми основами JavaScript. Ниже приведены некоторые цитаты из «Хороших частей» Дугласа Крокфорда.
«Функции в JavaScript - это объекты»
"В JavaScript массивы - это объекты, функции - это объекты, регулярные выражения - это объекты, и, конечно, объекты - это объекты"
«Каждый объект связан с объектом-прототипом, от которого он может наследовать свойства» (а именно constructor, toString, ...)
Если функция является объектом, то почему
console.log(typeof Function); // function
- это тип функции, а не объекта
console.log(Object.constructor); // Function()
это конструктор своего 'родителя'
console.log(Function.constructor); // Function()
озадачен так что конструктор фактически является функцией?
console.log(typeof Function.prototype); // Function
является ли тип прототипа функцией, а не объектом? я думал, что он унаследован от объекта
Ответы на эти вопросы очень помогут моему пониманию JavaScript.