Como Adicionar Uma Propriedade Em Objeto JS Dinamicamente

Certa vez, enquanto estava fazendo integração em um determinado endpoint, tinha certas propriedades que eu não podia enviar dentro do payload caso o valor fosse vazio.

Pensando nisso, poderíamos fazer diversos IF, verificando se existe valor naquela propriedade ou não, e assim adicionar.
Mas sabia que podemos montar um objeto de uma só vez, verificando isso diretamente?

1
2
3
4
5
6
const condition = true;
const person = {
id: 1,
name: "John Doe",
...(condition && { idade: 16 }),
};

Dessa forma, montamos nosso objeto da forma que queremos, de maneira condicional, adicionado uma propriedade ao objeto apenas se cumprir os requisitos!