Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Dúvida Function e Object (Native Code)

Olá, bom dia.

Estou com um dúvida. Por qual motivo o MDN se refere à Function, Object, Array como objetos se o navegador diz que são uma função? Exemplo:

console.log(Object); //ƒ Object() { [native code] }
console.log(Array); //ƒ Array() { [native code] }
console.log(Function); //ƒ Function() { [native code] }

Desde já, agradeço pela atenção!

3 respostas
solução!

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!

Compreendi perfeitamente, muito obrigado!

Por nada! Sempre que tiver alguma dúvida é só mandar aqui no fórum da Alura!

Grande abraço e bons estudos!