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

Dúvida sobre a herança de métodos

Se praticamente tudo no JS é objetos, ou seja, quase tudo é herdado de Object, como Object tem o método keys(), por que não consigo acessar o método por a partir de uma função, ex:

function minhaFuncao(){
    console.log("Olá");
}
console.log(minhaFuncao.keys());

Isso retorna Uncaught TypeError: minhaFuncao.keys is not a function Sei que não faz sentido mostrar as chaves de uma função, mas se function herda de Object, por que isso acontece?

2 respostas
solução!

Oi Tiago, tudo bem?

É porque a função keys não está no protótipo de Object. Lembra que a herança em JS é baseada em protótipos? Pois então ;)

Bons estudos.

Então Diego, eu confundi, pois é o Array() que tem a função keys() e não o Object(). Mas muito obrigado!