Mi pregunta es algo simple, pero no sé si no he hecho la búsqueda con las palabras clave correctas, pero mi problema es:
Al definir un objeto en JS/TS, ¿cómo puedo usar un valor de obj en otra clave, algo como:
const person = { firstName: 'Régis', middleName: 'Faria', fullName: `${firstName + middleName}` // Here is where IDK how to do it. I've tried with 'this.' but no success }Espero que alguien pueda ayudarme. ¡¡Gracias por adelantado!!
Construya el objeto con firstName y middleName, luego agregue el nombre completo:
const person = { firstName: 'Régis', middleName: 'Faria', } person.fullName = `${person.firstName} ${person.middleName}`;Para usar this palabra clave, debe tener una instancia de un objeto, para hacerlo, puede crear una clase Person e inicializar una person .
class Person { constructor({ firstName, middleName }) { this.firstName = firstName this.middleName = middleName } get fullName() { return `${this.firstName} ${this.middleName}` } } const person = new Person({ firstName: 'Régis', middleName: 'Faria', }) console.log(person.fullName) De lo contrario, debe configurar firstName middleName y el segundo nombre:
const firstName = 'Régis' const middleName = 'Faria' const person = { firstName, middleName, fullName: `${firstName} ${middleName}` } console.log(person.fullName);Yo personalmente prefiero usar TypeScript:
// create a Person type type Person { firstName: string lastName: string fullName: string } // then it's ok to have variable const firstName = 'Régis' const middleName = 'Faria' // then your person const person: Person = { firstName, middleName, fullName: `${firstName} ${middleName}` } console.log(person.fullName)