mientras practica la desestructuración de objetos; Enfrenté algunos problemas.
Tengo un objeto como este:
const secondObject = { value : 2, credit: 23, details: { serialNumber : 4 } }Ahora quiero obtener el valor 'serialNumber' dentro de un parámetro de función. así que invoco una función como esta:
function output({value, details}){ console.log(`value: ${value} , detail: ${details}`); } output(secondObject);cuando inicio sesión en la consola, el resultado muestra: detalle: [objeto Objeto]
* pero si me gusta esto, obtuve el valor del número de serie: *
const {details: {serialNumber}} = secondObject; console.log(serialNumber);¿Alguien puede decirme cómo puedo obtener el valor dentro de una función?
Si desea obtener un atributo específico dentro de los details , puede acceder directamente a él:
function output({value, details}){ console.log(`value: ${value} , detail: ${details.serialNumber}`); }o de manera equivalente, como lo sugiere Nick Parsons en los comentarios:
function output({value, details: {serialNumber}}){ console.log(`value: ${value} , detail: ${serialNumber}`); } Si, en cambio, desea mostrar el objeto completo contenido en los details , puede usar JSON.stringify , como se explica aquí . Echa un vistazo a este fragmento de código.
const secondObject = { value : 2, credit: 23, details: { serialNumber : 4, fooBar: 42 } } function output({value, details}){ str = JSON.stringify(details); console.log(`value: ${value} , detail: ${str}`); } output(secondObject); // value: 2 , detail: {"serialNumber":4,"fooBar":42}