@@ -4,12 +4,12 @@ JavaScript no posee en sus características un sistema clásico de herencia, sin
4
4
utiliza un * prototipo* para esto.
5
5
6
6
Si bien a menudo se considera uno de los puntos débiles de JavaScript, el
7
- modelo de herecia prototipado es de hecho más poderoso que el modelo clásico.
8
- Por ejemplo, es bastante trivial construir un modelo clásico en la parte superior del mismo ,
9
- mientras esto es una tarea mucho más difícil.
7
+ modelo de herencia prototipado es de hecho más poderoso que el modelo clásico.
8
+ Por ejemplo, es bastante trivial construir un modelo clásico a partir del modelo prototipado ,
9
+ mientras que al contrario es una tarea mucho más difícil.
10
10
11
11
Debido al hecho que JavaScript es básicamente el único lenguaje que utiliza
12
- apliamente la herencia prototipada, se necesita algo de tiempo para adaptarse a
12
+ ampliamente la herencia prototipada, se necesita algo de tiempo para adaptarse a
13
13
las diferencias entre los dos modelos.
14
14
15
15
La primera gran diferencia es que la herencia en JavaScript se realiza usando
@@ -83,30 +83,30 @@ la creación dinámica de cadena de prototipos.
83
83
### Rendimiento
84
84
85
85
El tiempo tomado en la búsqueda de propiedades es alta y la cadena de prototipo puede
86
- presentar un impacto negativo critico en el rendimiento en partes del código. Además,
87
- si ha tratado de acceder a propiedades que no existen este saltara a la cadena de prototipo.
86
+ presentar un impacto negativo crítico en el rendimiento en partes del código. Además,
87
+ si ha tratado de acceder a propiedades que no existen, esto provoca que se recorra la cadena de prototipo completa .
88
88
89
89
Además, al recorrer en [ iteración] ( #object.forinloop ) las propiedades de un objeto
90
- y ** cada** propiedad será encontrada en la cadena de prototipo de manera ennumerada .
90
+ , ** cada** propiedad encontrada en la cadena de prototipo será enumerada .
91
91
92
92
### Extensión de prototipos nativos
93
93
94
94
Una mala característica que se suele utilizar para extender ` Object.prototype ` o cualquier
95
95
otro prototipo construido.
96
96
97
- Esta técnica es conocida en inglés como [ monkey patching] [ 1 ] ya que * encapsula * lo que se interrumpe en el código.
97
+ Esta técnica es conocida en inglés como [ monkey patching] [ 1 ] y rompe la * encapsulación * del código.
98
98
Si bien es utilizado en frameworks como [ Prototype] [ 2 ] , todavía no existen buenas razones para adoptarlo o integrarlo
99
99
como tipos de dato o como funcionalidad no estándar.
100
100
101
- La ** única** buena razón para extender un prototipo es acondicionarlo a nuevas
102
- características en motores de JavaScript; por ejemplo,
101
+ La ** única** razón coherente para extender un prototipo es para adaptarle nuevas
102
+ características de los motores JavaScript más modernos ; por ejemplo,
103
103
[ ` Array.forEach ` ] [ 3 ] .
104
104
105
105
### En conclusión
106
106
107
107
Se ** debe** entender por completo el módelo de herencia prototipado antes de
108
- escribir código complejo que lo utlilice . Además, observe la longitud de la
109
- cadena de prototipo y modificala si es necesario para evitar posibles problemas de
108
+ escribir código complejo que lo utilice . Además, observe la longitud de la
109
+ cadena de prototipo y modifíquela si es necesario para evitar posibles problemas de
110
110
rendimiento. Con relación a los prototipos nativos, estos ** nunca** deben ser extendidos a
111
111
menos que sea para mantener la compatibilidad con nuevas características de JavaScript.
112
112
0 commit comments