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?
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: