Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

253
Vistas
¿Cuál es la penalización de rendimiento al llamar a Object.setProtoytypeOf() en el siguiente código?

He escuchado mucho que Object.setPrototypeOf() en JavaScript no es algo bueno para hacer . Reduce las optimizaciones y reduce el rendimiento de una aplicación.

Específicamente, reduce algunos cachés en línea y búsquedas rápidas de propiedades de prototipos realizadas para un objeto determinado.

Ahora, tengo una pregunta en mente que no parece haber sido respondida en ninguna parte en línea. Eso es:

Si Object.setPrototypeOf() elimina los cachés en línea y desperdicia otras optimizaciones, esto solo sería aplicable, y rigurosamente cierto, cuando se llama varias veces mientras se ejecuta una aplicación. Por ejemplo, si tengo un o y yo, digamos, cambio su [[Prototype]] al hacer clic en un botón, entonces esto sería lo malo .

Sin embargo, no veo ningún problema en absoluto al hacer lo siguiente:

 function Parent() { this.a = 1; } Parent.prototype.helloParent = function() { console.log('Parent.'); } function Child() { this.b = 2; } Child.prototype.helloChild = function() { console.log('Child.'); } Object.setPrototypeOf(Child.prototype, Parent.prototype);

Se crean dos funciones constructoras, Child() y Parent() , y luego Parent.prototype se establece como el prototipo de Child.prototype . Esta mutación de prototipo a través Object.setPrototypeOf() se realiza inmediatamente antes de que se ejecute cualquier otro código, por lo que quizás una vez que se realicen las primeras búsquedas de Child en instancias secundarias, el motor JS podría optimizar sus accesos a propiedades.

No pude entender exactamente cuál podría ser el problema de rendimiento con este código específicamente, asumiendo que Object.setPrototypeOf() se llama en la aplicación solo de esta manera .

about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda