Tengo los siguientes datos JSON:
const randomData = [ { gender: 'male', name: { title: 'Mr', first: 'Blake', last: 'Li', }, }, ]; Cuando intento acceder a la propiedad del first name usando name = randomData[0].name.first , aparece el siguiente error: Uncaught TypeError: Cannot read properties of undefined (reading 'first')
Supongo que está consumiendo una API, que tendría la siguiente estructura JSON, porque su ejemplo simulado está bien para hacer lo que quiere.
Y probablemente lo que está sucediendo es que algunos de sus datos no tienen valor en el objeto de name .
Por lo tanto, deberá realizar una verificación al intentar acceder a name.first .
ex:
const name = randomData[0].name.first || 'No name'
const name = randomData[0].name && randomData[0].name.first
Le recomiendo que use un validador JSON cada vez que obtenga datos para verificar que la estructura que espera sea correcta. Construí un validador JSON pequeño (21kBs) pero poderoso: https://www.npmjs.com/package/great-json-validator
La validación de la estructura de los datos entrantes garantizará que no obtendrá este tipo de errores.