Tengo una función 'getData' que pasa una variable de 'datos'. Dentro de la función, estoy tratando de acceder a un objeto 'data.someObject' que puede o no existir porque proviene de una biblioteca externa.
¿Cuál es el mejor enfoque para verificar si existe antes de intentar usarlo? También vea que estoy usando la desestructuración de objetos aquí también.
const getData = (data) => { const { name, age } = data.someObject; // someObject may or may not exist console.log(name, age); }Pensé que hacer esto podría funcionar:
const { name, age } = data.someObject || {};Pero no estaba seguro de si eso arrojaría un error.
Gracias
Personalmente, pondría una declaración if :
const getData = (data) => { if (data.someObject == null) { // Here you can return, throw an error or do anything else you might need } const { name, age } = data.someObject; // someObject may or may not exist console.log(name, age); }Puedes usar || & si es necesario, proporcione valores predeterminados durante la desestructuración.
function print(user) { const { fname = "Anonymous", lname = "Panda" } = user.fullname || {}; console.log(`Hello ${fname} ${lname}`); } print({ fullname: { fname: "John", lname: "Doe" } }); print({}); print({ fullname: null });