Почему typeof Array возвращает «функцию», а typeof [переменная-массив] возвращает «Объект»?
Когда вы пишете typeof Array
, это означает, что вы получаете тип функции конструктора. Так как class
находится под капотом, это функция конструктора. Позвольте мне показать пример:
class Person { constructor(firstName, lastName, address) { this.firstName= firstName; this.lastName = lastName; this.address= address; } getFullName () { return this.firstName " " this.lastName ; } }
и создать экземпляр класса:
let car = new Person ("Jon", "Freeman", "New York");
В приведенном выше коде мы создали переменную car
которая ссылается на функцию construtor, определенную в классе:
function Person (firstName, lastName, address) { this.firstName = firstName, this.lastName = lastName, this.address = address, this.getFullName = function () { return this.firstName " " this.lastName; } }
Так вот почему typeof Array
возвращает function
.