Truques de Programação: [Operadores e Expressões] - Javascript #2
Parte 1: Truques de Programação: [Manipulações em Arrays] - JavaScript #1
O que provavelmente você não sabia sobre Operadores e Expressões no JavaScript
A seguir estão algumas expressões e operadores
nativos do JavaScript que você deve conhecer. Esses servem para faciliar a escrita do código (CleanCode) e a manipulação de valores.
Operadores de Atribuição
Quem está iniciando na programação, na maioria das vezes não conhece os operadores de atribuição do JavaScript. Esses operadores de atribuição reduzem uma boa parte da escrita do seu código, segue o exemplo a seguir:
var a = 1;
a = a + 2;
// Que pode ser trocado por
var a = 1;
a += 2;
No exemplo anterior, a variável a
vai ter o mesmo resultado final: 3
. Esses operadores, em código de grande escala, poupa o tempo do desenvolvedor de uma forma incrível. Não se prenda somente ao operador de soma, esse esquema funciona para todas operações matemáticas disponíveis no JavaScript:
com operador | sem operador | descrição |
---|---|---|
x \*= 2 |
x = x * 2 |
Multiplica o valor por 2 e atribui à sua variável |
x -= 2 |
x = x - 2 |
Subtrai o valor por 2 e logo atribui à sua variável |
x /= 2 |
x = x / 2 |
Divide o valor por 2 e logo atribui à sua variável |
x += 2 |
x = x + 2 |
Soma o valor por 2 e logo atribui à sua variável |
x \*\*= 2 |
x = x ** 2 |
Eleva o valor por 2 e logo atribui à sua variável |
x %= 2 |
x = x % 2 |
Divide o valor por 2 e atribui o resto à variável |
x &&= 2 |
x && (x = 2) |
Se x for um valor positivo, 2 é atribuito à variável |
x ||= 2 |
x || (x = 2) |
Se x for um valor negativo, 2 é atribuito à variável |
Operador de Coalescência Nula (??)
Calma calma, eu sei que esse nome é estranho e, vai por mim, em inglês é bem mais amigável. O operador nullish coalescenting ??
é um operador lógico que retorna o valor do lado direito quando o valor do lado esquerdo é null ou undefined, caso contrário, retorna seu operando do lado esquerdo. Pra entender melhor, segue o exemplo:
var a = 123;
var b = a ?? 456;
// b = 123;
var x;
var y = x ?? 789;
// y = 789
No exemplo anterior, o valor de a
é 123
e ele seria atribuido ao b
se for algum valor diferente de null ou undefined, como o valor é um número foi atribuido ao b
com sucesso. Já no segundo exemplo, x
foi declarado mas não tem valor nenhum e por isso o valor de y
é 789. Esse operador funciona da seguinte forma:
var x;
var y = x ?? 789;
/*
Se x for diferente de "null" ou "undefined" atribui o valor de x,
caso contrário atribui "789"
*/
Atribuição de Desestruturação
Uma das features incríveis que eu mais gosto do JavaScript é a de Desestruturação. A de atribsintaxeuição de desestruturação é uma expressão JavaScript que torna possível descompactar valores de arrays ou propriedades de objetos em variáveis distintas.
var usuario = {
nome: 'Paulo',
sobrenome: 'Souza',
idade: 23,
};
var { idade } = usuario;
// idade = 23
E o mais incrível: Isso funciona também com arrays:
var livros = [
"Moby Dick",
"Harry Potter",
"Ao Farol",
];
var [, HarryPotter ] = livros;
No exemplo anterior perceba que eu pulei o primeiro item da array apenas colocando uma ,
, com isso você pode pular quantos itens da array quiser:
var [, , AoFarol ] = livros;
ou se quiser, pode pegar apenas o primeiro item:
var [ MobyDick ] = livros;
Operador Delete
Você provavelmente já precisou deletar um item de um objeto e ficou na dúvida de como fazer isso, e pra isso existe o operador Delete. O operador delete
remove uma propriedade de um objeto. Se o valor da propriedade for um objeto e não houver mais referências ao objeto, o objeto mantido por essa propriedade será eventualmente liberado automaticamente.
const Pessoa = {
nome: 'John',
sobrenome: 'Doe'
};
console.log(Pessoa.nome);
// saída: "John"
delete Pessoa.nome;
console.log(Pessoa.nome);
// saída: undefined
Conclusão
Esse são truques simples porém muito útil no seu dia a dia de programador. Em breve terá mais truques como esse em diversas áreas do Javascript e talvez outras linguagens de programação. Espero ter acrescentado algo no seu conhecimento e se tiver alguma sugestão ou dicas como essas, por favor deixe sua contribuição nos comentários abaixo.