Em JavaScript, se temos um objeto, mas não conhecemos o construtor, como obtemos seu protótipo objeto?
No navegador Chrome ou Firefox, podemos usar diretamente o atributo __proto__ do objeto para obter seu objeto de protótipo.
A cópia do código é a seguinte:
<!-Lang: JS->
função f () {};
var foo = novo f ();
alerta (foo .__ proto__ == f.prototype);
No entanto, o atributo __proto__ não é suportado no navegador do IE até o IE11.
Então, em navegadores que não suportam o atributo __proto__, como obtemos o protótipo objeto do objeto? Pode ser obtido indiretamente através do construtor.
A cópia do código é a seguinte:
<!-Lang: JS->
função f () {};
var foo = novo f ();
alerta (foo.constructor.prototype == f.prototype);
O atributo construtor não é o próprio atributo do objeto, mas é obtido do objeto protótipo para cima ao longo da cadeia de protótipo. Essa propriedade aponta para o construtor correspondente a este objeto de protótipo. A propriedade do protótipo do construtor aponta para o objeto de protótipo, para que possamos obtê -lo indiretamente.
O exposto acima é sobre obter objetos de protótipo em JavaScript. Espero que gostem.