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

184
Vistas
¿Comprobar si existe una propiedad en un objeto cuando el objeto tampoco existe?

Puedo verificar si existe una propiedad así:

 let myObject = {}; let exists = myObject.myProperty !== undefined;

Pero, ¿cómo puedo verificar si la propiedad existe cuando myObject tampoco está definido, los siguientes errores:

 // let myObject = {}; // do not set this let exists = myObject.myProperty !== undefined;
about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

Hay varias cosas en juego aquí.
Primero, para verificar si el objeto existe en el alcance actual, debe usar el operador typeof:

 let objectExists = typeof myObject !== 'undefined'

de esta manera, el intérprete no arrojará un error.

En segundo lugar, para verificar si el objeto tiene una propiedad específica, aún es mejor usar el antiguo operador in

 let propertyExists = 'myProperty' in myObject

Ambas expresiones devuelven un valor booleano, verdadero o falso.
Entonces, para una verificación segura, puede usar:

 if(typeof myObject !== 'undefined' && myProperty in myObject) { // do your stuff }

si intenta usar la forma más nueva de myObject?.myProperty aún arrojará un ReferenceError si no ha declarado myObject

y si usa myObject.hasOwnProperty(myProperty) podría obtener un resultado engañoso, si su objeto hereda de otro y la propiedad pertenece al antepasado

about 4 years ago · Juan Pablo Isaza Denunciar

0

si myObject doesn't exist at all , use try/catch

 let exists; try { exists = myObject.hasOwnProperty('myProperty'); }catch(err){ console.log(err.message) }

si es null o undefined , use ?. (encadenamiento opcional) operador:

 let exists = myObject?.hasOwnProperty('myProperty');
about 4 years ago · Juan Pablo Isaza Denunciar

0

Dado que es posible que la variable myObject no esté definida (según su pregunta), debe envolver su código con try/catch para que el flujo no se interrumpa:

 let exists = false; try{ // try to access "a" property of myObject exists = myObject?.a; } catch{ // because myObject is not defined, the catch block is invoked console.log("myObject", "is not defined") } console.log({exists})

about 4 years ago · Juan Pablo Isaza 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