Definindo valores padrão para propriedades - Desestruturando Objetos Javascript

Code

Um dos recursos que eu mais utilizo no ES6+ hoje em dia é Desestruturação de objetos.

Existem diversas formas de fazer bom uso dessa feature tão versátil. Porém, é bom tomar um certo cuidado para não abusar das possibilidades e acabar deixando o código mais complexo e difícil de ler do que deveria.

Hoje, vamos falar sobre a atribuição de valores padrão na desestruturação de objetos, uma das diversas possibilidades dessa feature do JavaScript.

Desestruturação de Objetos

const person = {
	name: 'Alison',
	age: 25,
	cool: true,
}

// ...

const { name, age } = person
console.log(name) // => Alison
console.log(age)  // => 25

O exemplo acima mostra a definição de um objeto person e atribuição dos valores das propriedades desse objeto a duas variáveis distintas.

Uma pergunta que pode vir a mente quando vemos um código como esse é: e se, em códigos similares a este ou até mais complexos, a propriedade utilizada na desestruturação não existir?

const person = {
	name: 'Alison',
}

// ...

const { name, cool } = person
console.log(cool)  // => ?

Bom, nesse caso, o output seria undefined, pois estamos criando a variável, mas a desestruturação não conseguiu atribuir nenhum valor a mesma.

Podemos, portanto, atribuir um valor padrão as propriedades que queremos capturar, pro caso de elas não existirem no objeto em questão.

Valores padrão para propriedades de um objeto

const person = {
	name: 'Alison',
}

// ...

const { name, cool = 'Yes' } = person
console.log(cool)  // => Yes

E aí, curtiu? Espero que sim. Esse tipo de detalhe pode ajudar bastante na legibilidade do nosso código, além de ser muito flexível, já que aceita até chamada de funções como valor padrão.

Compartilhe:
Buy Me A Coffee