Comparar revisões

Herança Revisitada

Alterar Revisões

Revisão 315069:

Revisão 315069 por galvao em

Revisão 315327:

Revisão 315327 por galvao em

Título:
Herança Revisitada
Herança Revisitada
Slug:
JavaScript/Guide/Herança_Revisitada
JavaScript/Guide/Inheritance_Revisited
Conteúdo:

Revisão 315069
Revisão 315327
n53    <h2 id="prototype_and_Object.getPrototypeOf">n53    <h2 id="prototype_e_Object.getPrototypeOf">
t60      You probably already noticed that our <code>function A</codt60      Você provavelmente já percebeu que a nossa <code>function A
>e> has a special property called <code>prototype</code>. This spe></code>&nbsp;tem uma propriedade especial chamada <code>prototype
>cial property works with the JavaScript <code>new</code> operator></code>. Essa propriedade especial funciona com o operador JavaSc
>. The reference to the prototype object is copied to the internal>ript <code>new</code>. A referência para o objeto protótipo é cop
> <code>[[Prototype]]</code> property of the new instance. For exa>iada para a propriedade interna <code>[[Prototype]]</code>&nbsp;d
>mple, when you do <code>var a1 = new A()</code>, JavaScript (afte>a nova instância. Por exemplo, quando você faz <code>var a1 = new
>r creating the object in memory and before running function <code> A()</code>, JavaScript (depois de criar o objeto em memória e an
>>A()</code> with <code>this</code> defined to it) sets <code>a1.[>tes de executar function <code>A()</code> com&nbsp;<code>this</co
>[Prototype]] = A.prototype</code>. When you then access propertie>de> definida para ela) define&nbsp;<code>a1.[[Prototype]] = A.pro
>s of the instance, JavaScript first checks whether they exist on >totype</code>. Quando você então acessa propriedades da instância
>that object directly, and if not, it looks in <code>[[Prototype]]>, JavaScript primeiro verifica se elas existem naquele objeto dir
></code>. This means that all the stuff you define in <code>protot>etamente, e se não, procura em <code>[[Prototype]]</code>. Isso s
>ype</code> is effectively shared by all instances, and you can ev>ignifica que tudo o que você define em <code>prototype</code>&nbs
>en later change parts of <code>prototype</code> and have the chan>p;é efetivamente compartilhado por todas as instâncias, e você po
>ges appear in all existing instances, if you wanted to.>de até mudar partes de <code>prototype</code>&nbsp;depois e ter e
 >stas mudanças aparecendo em todas as instâncias existentes, se vo
 >cê quiser.

Voltar ao histórico