es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Error de tipo no capturado: No se pueden leer las propiedades de undefined incluso al usar typeof – ¿Enfoque mejor?

Mi bucle comprueba si un array de cartas tiene un atributo especial, si es así, se realiza cierta acción.

if(typeof cardArray[i]['special']!=='undefined'){
    // hacer algo
}

Desafortunadamente, a pesar de que estoy usando typeof para verificar que el array contiene una clave especial definida, todavía estoy obteniendo

TypeError: No se pueden leer propiedades de indefinido (leyendo ‘especial’)

¿Qué estoy haciendo mal aquí o hay un enfoque mejor para esto en general?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Es posible que esté intentando acceder a una propiedad de un objeto que no existe. Para evitar esto, puede usar el método hasOwnProperty() para comprobar si el objeto tiene la propiedad a la que está intentando acceder.

    Por ejemplo:

    if (cardArray[i].hasOwnProperty('special')) {
      // hacer algo
    }
    

Comments are closed.