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

94
Vistas
Object.create y elimina la propiedad del objeto recién creado

Si Object.create hace una nueva copia profunda del objeto, ¿qué debería suceder después de eliminar la propiedad del objeto recién creado?

Salida esperada: indefinido

Salida real: Karna

Código

 var obj1 = {name:"Karna",loc:"Bengaluru"}; var obj2 = Object.create(obj1); delete obj2.name; console.log(obj2.name);

¿Podría ayudarme a entender por qué obj2.name todavía se refiere a la propiedad de obj1?

about 4 years ago · Santiago Gelvez
2 Respuestas
Responde la pregunta

0

Object.create crea un nuevo objeto con el argumento object como prototipo del nuevo objeto creado (consulte el __proto__ del objeto recién creado). No agrega las propiedades de obj1 a obj2 . Entonces, si invocas delete en obj2 , eliminará las propiedades de obj2 y no las del prototipo.

Ejemplo:

 var obj1 = { name: 'John' } var obj2 = Object.create(obj1); console.log(obj2.__proto__ === obj1) // returns true console.log(obj2.hasOwnProperty('name')) // returns false; console.log(obj2.name) // returns John delete obj2.name; // returns true console.log(obj2.name) // returns John, since delete will not traverse the prototype chain to delete keys

Más información: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/delete

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/create

about 4 years ago · Santiago Gelvez Denunciar

0

Hay dos puntos a los que debe prestar atención: 1- Object.create no hace una copia del objeto original, crea un nuevo objeto con el argumento object como prototipo del nuevo objeto creado. (la propiedad del prototipo no es una propiedad configurable) 2- el operador de eliminación solo funciona en las propiedades configurable de un objeto.

por lo tanto, las propiedades del prototipo no se pueden delete mediante el operador de eliminación, porque no se pueden configurar.

about 4 years ago · Santiago Gelvez Denunciar
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