Quiero saber si hay alguna forma de acceder al valor de una clave para agregar como valor de otra clave en el mismo objeto.
Por ejemplo quiero:
obj = {key1: 'apple', key2: 'applesauce'}; obj = {key1: 'apple', key2: this.key1 + 'sauce'}
También probé obj = {key1: 'apple', key2: key1 + 'sauce'}
Lo quiero para que actualizar key1 actualice automáticamente key2 .
Gracias
Puedes hacerlo con un captador.
obj = { key1: 'apple', get key2() { return this.key1 + 'sauce'; } } console.log(obj.key2); obj.key1 = 'awesome'; console.log(obj.key2);Básicamente, no en la declaración, no que yo sepa. No puede referirse al objeto dentro de lo que es básicamente un objeto literal usando this hasta que la cosa realmente exista.
Podrías crear una función para generar ese objeto:
function keymaker(key) { return { key1: key, key2: key + 'sauce' } } obj = keymaker('apple');