Boa noite! Como vai?
A saída que vc vê no seu navegador e que vc postou aqui no tópico diz respeito às classes Object
, Array
e Function
! Só que no mundo JavaScript, uma classe pode ser representada por uma função ( e assim o é muitas vezes )!
Mas, quando falamos de um objeto JavaScript como { nome: 'Gabriel Leite' }
, de um array [0, 1, 2]
ou de uma função function soma(a, b) { return a+b; }
, eles são na realidade instâncias de Object
, Array
e Function
, respectivamente! E, portanto, são objetos!
Tanto é verdade, que vc pode fazer o seguinte teste pra verificar isso na prática:
const obj = { nome: 'Gabriel Leite' };
const arr = [0, 1, 2];
function soma(a, b) { return a+b; }
console.log(obj instanceof Object); // true
console.log(arr instanceof Array); // true
console.log(soma instanceof Function); // true
Pegou a ideia? Qualquer coisa é só falar!
Grande abraço e bons estudos!