@@ -4,12 +4,12 @@ JavaScript no posee en sus características un sistema clásico de herencia, sin
44utiliza un * prototipo* para esto.
55
66Si 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.
1010
1111Debido 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
1313las diferencias entre los dos modelos.
1414
1515La 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.
8383### Rendimiento
8484
8585El 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 .
8888
8989Ademá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 .
9191
9292### Extensión de prototipos nativos
9393
9494Una mala característica que se suele utilizar para extender ` Object.prototype ` o cualquier
9595otro prototipo construido.
9696
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.
9898Si bien es utilizado en frameworks como [ Prototype] [ 2 ] , todavía no existen buenas razones para adoptarlo o integrarlo
9999como tipos de dato o como funcionalidad no estándar.
100100
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,
103103[ ` Array.forEach ` ] [ 3 ] .
104104
105105### En conclusión
106106
107107Se ** 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
110110rendimiento. Con relación a los prototipos nativos, estos ** nunca** deben ser extendidos a
111111menos que sea para mantener la compatibilidad con nuevas características de JavaScript.
112112
0 commit comments